asp.net C# 中关于 var 类型的疑问?

今天在使用 var 定义的变量之后发现了一个疑问?
简单的说:
-------
var listC = GetRanges_New();
GetRanges_New() 将会返回一个数据集
如果 此时 listC 进行 相关的操作,比如 listC.Clear();
那么 再次引用的 GetRanges_New();的时候 发现 返回来的 就是空值了。
--------
所以我在 想 用var 定义的变量是否 像 C语言中的指针的意思呢?
资料上说 var 定义的变量 应该是局部变量的。
当然 可能是我的代码有问题吧,所以在此请各位朋友分析一下吧,谢谢啦!

恩,其实var只是类型推断。会这样是因为你的方法返回的引用类型。
例如var glabal=new List<int>();
var listC=glabal;
glabl.Clear();
var listC2=glabal;
这时当然listC2是空的。追问

请问 当 方法返回的引用类型的时候 可以理解成 相当于 C 中的指针吗?

追答

相当于C++的(type)&这样的安全引用。应为指针只是一个long值,不是类型安全的,对象引用是类型安全的。

追问

非常感谢 我确实 使用的引用类型:
public static List GetRanges_New(){ }
当时比较疑惑,后来我又测试
-----
int a = 1;
var list=a;
list = list + 1;
Label1.Text = a.ToString();
-----
发现又没什么变化了 ,所以就挺疑惑的,现在知道原因了。
非常感谢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-01-29
返回的是对象 不是指针追问

恩 是对象 只不过 我在想 是否 可以理解为指针

第2个回答  2012-01-29

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网