日期:2014-05-18  浏览次数:20912 次

都是 var 这样好用吗?
一个 队员 里面所有代码 开头都是 var

C# code


var config = new MagorConfiguration("Config.xml");

        var srcName = config["sourceName"];

        var dbHost  = whatever1("host");

        var dbUser  = config["user"];

        var dbPass  = whatever("id");

        var indexName = srcName + "_index";





各位大牛们有什么看法吗? 

我感觉读起来很费劲

特别是 如果 我要写个新函数 doit( srcName,dbHost );

我还得 爬回去看原形

大牛们平时怎么用 var 的,给点指导吧






------解决方案--------------------
这样用肯定不对。至于什么时候用要看需要。
------解决方案--------------------
临时变量用起来方便,没问题,全局变量定义的时候必须指明,因此无法使用。
总之能用的时候就用,挺好的。
------解决方案--------------------
匿名变量
------解决方案--------------------
http://msdn.microsoft.com/zh-cn/library/bb384061.aspx
------解决方案--------------------
不建议滥用var
------解决方案--------------------
var 只是设计时概念,编译器替你做了一点推理工作而已。

必要的使用场景应该就是用来处理匿名类型。除此之外,都不必要。

对我来说只是在图方便的时候用用,不会在大段代码中使用,不然让看代码的人很烦。




------解决方案--------------------
还有一种可以能你的 队员 安装了 ReSharper
在默认情况下,ReSharper 会检测代码中编写信息.
局部变量 会自动提示转换成 var 类型,

如果你的队员是完美主义者,可能就会把所有的局部变量类型修改成 var.

------解决方案--------------------
探讨
一个 队员 里面所有代码 开头都是 var

C# code


var config = new MagorConfiguration("Config.xml");

var srcName = config["sourceName"];

var dbHost = whatever1("host");

var dbUser = con……

------解决方案--------------------
http://www.198store.com/t/9/1336451231x-954498885.jpg

那个红学的小圈圈就是中的橙色标记就是提示,点击以后可以到相应的代码段。
------解决方案--------------------

------解决方案--------------------
探讨

不建议滥用var

------解决方案--------------------
不建议滥用var,根据情况使用

------解决方案--------------------
昨天看了一个贴的问题是这样的
List<自定义的类型> Get()
{
var result= from x ....select new {}
return result.ToList()
}
系统报错

string GetUser()
{
var dbUser = config["user"];
return dbUser;
}
我不知道会不会也报错罗

------解决方案--------------------
看到一堆var,联想起了DB中的field1、field2、field3...
------解决方案--------------------
探讨
昨天看了一个贴的问题是这样的
List<自定义的类型> Get()
{
var result= from x ....select new {}
return result.ToList()
}
系统报错

string GetUser()
{
var dbUser = config["user"];
return dbUser;
}
我不知道会不会也报错罗

------解决方案--------------------
探讨

昨天看了一个贴的问题是这样的
List<自定义的类型> Get()
{
var result= from x ....select new {}