代码来至:http://www.cnblogs.com/HeroBeast/archive/2008/07/14/1242976.htmlpublic class Node
{
private Node _node;
private object _value; public Node(object v)
{
this._value = v;
this._node = null;
} public Node NodeNext
{
get { return _node; }
set { _node = value; }
}
public object Value
{
get { return _value; }
} }
class Program
{
static void Main(string[] args)
{
Node n1 = new Node("A");
Node n2 = n1;
n1.NodeNext = new Node("B");
//当时执完这句时,n1和n2保持一至,二者的Value属性值都为A NodeNext属性值都为 B。即n1{Value:A, NodeNext:{Value:B, NodeNext:null}},n2{Value:A, NodeNext:{Value:B, NodeNext:null}}
n1 = n1.NodeNext;
//可是执行完这句时,n1{Value:B, NodeNext:null}, 而n2{Value:A, NodeNext:{Value:B, NodeNext:null}}, 这是为什么呢?
n1.NodeNext = new Node("C");
//执行完这句时,n1{Value:B, NodeNext:{Value:C, NodeNext:null}},而n2{Value:A, NodeNext:{Value:B, NodeNext:{Value::C, NodeNext:null}}}
} }有谁能帮我解释一下这段代码?谢谢!
{
private Node _node;
private object _value; public Node(object v)
{
this._value = v;
this._node = null;
} public Node NodeNext
{
get { return _node; }
set { _node = value; }
}
public object Value
{
get { return _value; }
} }
class Program
{
static void Main(string[] args)
{
Node n1 = new Node("A");
Node n2 = n1;
n1.NodeNext = new Node("B");
//当时执完这句时,n1和n2保持一至,二者的Value属性值都为A NodeNext属性值都为 B。即n1{Value:A, NodeNext:{Value:B, NodeNext:null}},n2{Value:A, NodeNext:{Value:B, NodeNext:null}}
n1 = n1.NodeNext;
//可是执行完这句时,n1{Value:B, NodeNext:null}, 而n2{Value:A, NodeNext:{Value:B, NodeNext:null}}, 这是为什么呢?
n1.NodeNext = new Node("C");
//执行完这句时,n1{Value:B, NodeNext:{Value:C, NodeNext:null}},而n2{Value:A, NodeNext:{Value:B, NodeNext:{Value::C, NodeNext:null}}}
} }有谁能帮我解释一下这段代码?谢谢!
解决方案 »
- 【求助】C#连接数据库,忙活了几个小时了!真心求助!!!
- 在循环表格里面如何给每行的<input type=text1 name="Cent">一些分数。总分:100
- 关于页面打印问题,为什么打印不出table的边框???帮顶有分!
- C#中数据库操作问题
- 菜鸟300问之四---------数据库连接异常
- 浏览器打开CSDN是XML的, 为什么我用WebRequest读出的却是HTML?
- 在弹出窗体里修改主窗体的DataGrid里选中的某行的某字段的数据?
- 请教关于使用SQL参数【OleDbParameter】
- textBox中输入的数字怎么转为float?
- 如何访问oracle数据库中的date,blob类型的数据
- C#中Internet Explorer脚本错误怎样解决啊?
- DataTable与数组
Node n1 = new Node("A"); //n1{_value=(object)"A"; _node=null;}
Node n2 = n1; //n2 引用 n1{_value=(object)"A"; _node=null;}
n1.NodeNext = new Node("B");//n1{_value=(object)"A"; _node={_value=(object)"B",_node=null;};}
n1 = n1.NodeNext; //n1{_value=(object)"B",_node=null;}
n1.NodeNext = new Node("C");// n1{_value=(object)"B"; _node={_value=(object)"C",_node=null;};}