1
24
在可读性方面有什么更好的?
或
我说的是可读性,因为使用var对您的应用程序绝对没有影响,因为这两个语句在编译时生成相同的il。 对编辑的响应: 没有什么要求您使用var(除anon类型之外)——它只是语法上的糖分。 |
2
16
我用它
|
3
9
我个人发现,当它被用来减少输入时,它会损害可读性——记住,你花1%的时间编写代码,99%的时间阅读代码。
编辑: 要记住的主要事情(这对于所有编码样式的事情都是常见的)是,您需要选择一种样式并始终如一地使用它。只要你喜欢它,并且有理由使用它,你觉得它是健全的,那么你就赢得了战斗:) |
4
3
我使用
它不会给我带来问题,因为我的方法通常是以这样的方式命名的,只要看一眼名称,我就可以推断出类型。 如果我不能,我会用VS2008智能感知来帮助我,或者我只是用 Resharper var=>类名转换器,将其转换为显式名称。
另一个案例我发现
|
5
3
匿名类怎么样?
|
6
1
是的,我在为长名称和中的类创建对象时一直使用它。
编辑: 我不认为var可以在设计或任何构造中发挥主要作用…因为它只能在本地使用,即在方法或范围内。 VaR的另一个主要限制是不能将其用作 方法参数 或 作为返回类型 . 您甚至不能在类中将其声明为字段。这意味着我们可以使用var来节省输入时间,或者减少代码对于“可读性”和LINQ的冗长性。 |
7
1
我发现它在原型设计中非常有价值,它让我能够快速存储函数/属性的结果,并且使我能够调整这些函数的返回类型,之后清理更少。它有点像方法的接口,它让我不用担心具体的返回类型,而更多地担心方法的意图。
正如其他人提到的,在初始化对象的新实例时使用它也是很好的;具有
VS
|
8
1
当使用MVC并让客户机控制器返回所有Ajax请求时,您几乎总是使用var,因为对于匿名类型,您只能将应用程序所需的数据发送回客户机。
|
9
1
我几乎每次给局部变量赋值都使用var。这确实限制了在特定方法的返回类型发生更改时必须进行的代码更改量。例如,如果我有以下方法: List<T> GetList() { return myList; } 我可以让各地的代码行执行本地变量赋值,如下所示: List<T> list = GetList(); 如果更改getList()以返回ilist<t>,则必须更改所有这些分配行。n行赋值等于n+1如果我更改返回类型,代码将更改。 IList<T> GetList() { return myList; } 相反,如果我的代码如下: var list = GetList(); 然后我只需要更改getList(),其余的将通过编译进行验证。我们只更改了一个代码就开始运行。当然,如果存在依赖于列表的代码,而不是IList,编译器会抱怨,但这些代码应该少于n。 |
10
1
我最喜欢的非LINQ用法是与
|
11
0
我在某个地方读到,它建议您在调用不是由您编写的模块中的代码的情况下使用“var”,并且返回的对象的类型将受到未来更改的影响。如果要将包装器写入该外部模块,并且只转发结果,那么使用var临时存储结果会使代码在外部调用返回的数据类型更改时仍然有效。另外,如果您知道这个结果是某种类型的集合,但同样地,不是特别稳定的类型,那么分配给var,然后在进一步更改的情况下迭代仍然可以工作。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |