zoukankan      html  css  js  c++  java
  • 【讨论】.net是如何识别内存堆上的被引用的变量?

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace List
    {
        public class Node<T>
        {
            private T data;
            private Node<T> next;
            public Node(T val)
            {
                data = val;
                next = null;
            }
            public Node()
            {
                data = default(T);
                next = null;
            }

            public T Data
            {
                get { return data; }
                set { data = value; }
            }
            public Node<T> Next
            {
                get { return next; }
                set { next = value; }
            }
        }

        class Program
        {
            static void Main(string[] args)
            {
                Node<int> node0 = new Node<int>(1);
                Node<int> node1 = new Node<int>(2);
                Node<int> node2 = new Node<int>(3);
                Node<int> node3 = new Node<int>(4);

                node0.Next = node1;
                node1.Next = node2;
                node2.Next = node3;

                Node<int> current = node0;
                Node<int> temp = current.Next;
                current.Next = current.Next.Next;

                Console.WriteLine("temp=" + temp.Data.ToString());
                          
                Console.Read();
            }
        }
    }

    大家先猜猜打印结果是什么?

    其实其结果让我很迷惑,然后让我产生了一些联想。.net是如何识别内存堆上被引用的变量?

  • 相关阅读:
    Java之IO流
    Servlet中Session的用法
    Servlet中Cookie的用法
    HTML的表单元素和input元素
    Servlet第一个实例之用户登录网址
    Servlet的生命周期和三种实现方式
    写一下近期的计划(工作)
    RxJava的基础知识
    actionbar、toolbar、menu之间的关系
    ButterKnife的基础知识
  • 原文地址:https://www.cnblogs.com/ibrahim/p/1353635.html
Copyright © 2011-2022 走看看