.net 值类型变量赋值需要注意
2010-02-08 22:40
323 查看
两个值类型直接赋值,会进行字段的复制,完成之后,彼此直接没有任何关系
比如:从Dictionary<string, struct>取出struct后,给struct赋值,以为struct的值会被改变,这时,
从另一个方法再次取出,发现struct还是原来的值,会很纳闷
这个误会往往会对有c++ 或者delphi开发经验的人有很大影响,忘记了c#里,值类型的“不可改变”性,
表面看上去值发生了变化,其实是发生变化的数据没有改回原来的变量,而是一个新的变量
比如:从Dictionary<string, struct>取出struct后,给struct赋值,以为struct的值会被改变,这时,
从另一个方法再次取出,发现struct还是原来的值,会很纳闷
这个误会往往会对有c++ 或者delphi开发经验的人有很大影响,忘记了c#里,值类型的“不可改变”性,
表面看上去值发生了变化,其实是发生变化的数据没有改回原来的变量,而是一个新的变量
相关文章推荐
- js的Date类型的变量需要注意之处
- Java中long类型直接赋值大数字需要注意的问题
- 自定义类型在使用容器存副本时需要注意重载赋值和拷贝构造函数
- SqlServer中使用Select语句给变量赋值的时候需要注意的一个问题
- mysql 插入string类型变量时候,需要注意的问题,妈的,害我想了好几个小时!!
- JAVA变量赋值需要注意的细节问题
- 类成员变量中存在引用,const,和指针类型时需要注意的事项
- javaScript数据类型和变量需要注意的几个细节
- MySQL变量赋值需要注意其与Oracle的区别
- python中将函数赋值给变量时需要注意的一些问题
- C语言学习2:sizeof ,数据类型,scanf,算式操作,赋值与比较操作,逻辑操作,位的操作,条件运算符,特异赋值结果,强制转换,使用变量要注意的
- C++ 构造函数使用 ":成员变量(形参)" 的形式给类里面成员变量赋值,如果成员变量和形参是指针,那么需要注意的事项
- double类型的变量通过scanf函数赋值时需注意的问题
- 关于java数组中某个元素用等号赋值给中间变量需要注意的问题。
- python中将函数赋值给变量时需要注意的一些问题
- 当javaScript从入门到提高前需要注意的细节:变量部分
- 给fpos_t类型的变量赋值
- mysql中各种类型变量的定义以及赋值使用
- C#字节数组与值类型变量的互相转换,以及注意事项
- Go语言学习笔记1 变量,类型以及赋值