相关疑难解决方法(0)

在C#中使用var关键字

在与同事讨论了在C#3中使用'var'关键字后,我想知道人们对通过var的类型推断的适当用途有什么看法?

例如,我在可疑情况下懒得使用var,例如: -

foreach(var item in someList) { // ... } // Type of 'item' not clear.
var something = someObject.SomeProperty; // Type of 'something' not clear.
var something = someMethod(); // Type of 'something' not clear.
Run Code Online (Sandbox Code Playgroud)

var的更合理用途如下: -

var l = new List<string>(); // Obvious what l will be.
var s = new SomeClass(); // Obvious what s will be.
Run Code Online (Sandbox Code Playgroud)

有趣的是LINQ似乎有点灰色,例如: -

var results = from r in dataContext.SomeTable
              select r; // Not *entirely clear* what results will be …
Run Code Online (Sandbox Code Playgroud)

c# var type-inference

406
推荐指数
32
解决办法
13万
查看次数

使用方法:var或对象名称类型?

这是一个问题,在编程时我总是想知道:在编写代码时要使用什么:

var myFiles = Directory.GetFiles(fullPath);
Run Code Online (Sandbox Code Playgroud)

要么

string[] myFiles = Directory.GetFiles(fullPath);
Run Code Online (Sandbox Code Playgroud)

VAR是新的,是一个隐式类型的局部变量,所以我们只能在本地使用,它具有类似的规则不能为空,等等,但我不知道如果我们使用它"正常"的任何优势.

"常"的部分说,不是在匿名类型,对象和集合初始化查询表达式,其中这是使用var匿名对象的意图,所以我的意思是......就像上面的例子.

你的想法是什么?

c# anonymous-objects .net-3.5 c#-3.0

53
推荐指数
4
解决办法
1万
查看次数

var关键字有什么意义?

变种关键字摒弃了需要一个明确的类型声明,我有兴趣地阅读SO讨论时,它可能是适当的.

我还读过(但未使用过)Boo,它似乎通过使声明局部变量可选而更进一步.使用Boo,可以隐含类型和声明.

这让我想知道,为什么C#语言设计师根本不想包含一个var关键字?

更新:是的,var支持匿名类型,但匿名类型本身不需要var关键字...

var anon = new { Name = "Terry", Age = 34 };
Run Code Online (Sandbox Code Playgroud)

anon = new { Name = "Terry", Age = 34 };
Run Code Online (Sandbox Code Playgroud)

c# variables boo

47
推荐指数
5
解决办法
2万
查看次数

我应该*总是*支持在C#3.0中隐含类型的局部变量吗?

Resharper当然这么认为,开箱即用它会唠叨你转换

Dooberry dooberry = new Dooberry();
Run Code Online (Sandbox Code Playgroud)

var dooberry = new Dooberry();
Run Code Online (Sandbox Code Playgroud)

这真的被认为是最好的风格吗?

c# resharper styles

27
推荐指数
3
解决办法
3776
查看次数

c#.Net中"var"关键字的意义是什么?

可能重复:
在C#中使用var关键字var关键字
的重点是什么?

我在使用隐式打字而不是显式打字时有点困惑.

正如MSDN在C#编码标准中引用的那样:

当从变量的右侧明显变量的类型时,或者当精确类型不重要时,对局部变量使用隐式类型.

我的问题是,当我们已经知道底层变量类型时,为什么我们需要在这里使用隐式类型?

有什么好处?

请帮助澄清我的疑问.

c# var

2
推荐指数
1
解决办法
5917
查看次数