两个值类型直接赋值,会进行字段的复制,完成之后,彼此直接没有任何关系
比如:从Dictionary<string, struct>取出struct后,给struct赋值,以为struct的值会被改变,这时,
从另一个方法再次取出,发现struct还是原来的值,会很纳闷
这个误会往往会对有c++ 或者delphi开发经验的人有很大影响,忘记了c#里,值类型的“不可改变”性,
表面看上去值发生了变化,其实是发生变化的数据没有改回原来的变量,而是一个新的变量
两个值类型直接赋值,会进行字段的复制,完成之后,彼此直接没有任何关系
比如:从Dictionary<string, struct>取出struct后,给struct赋值,以为struct的值会被改变,这时,
从另一个方法再次取出,发现struct还是原来的值,会很纳闷
这个误会往往会对有c++ 或者delphi开发经验的人有很大影响,忘记了c#里,值类型的“不可改变”性,
表面看上去值发生了变化,其实是发生变化的数据没有改回原来的变量,而是一个新的变量