1
50
然后在别的地方。。。
然后,在未来的某个时刻,有人注意到
话虽如此,这种事 被你的单元测试等抓住了,但这仍然是一个潜在的问题。 |
2
22
我倾向于遵循这个计划:
如果返回类型
|
3
13
有些案例真的会导致意想不到的结果。我是一个
显然,这是一个错误,而不是一个“意外的结果”。但是它 是 明白了。。。 |
4
13
var不是动态类型,它只是 syntactic sugar . 唯一的例外是匿名类型。 From the Microsoft Docs
编译成IL后没有区别 除非您已经显式定义了与隐含类型不同的类型(尽管我想不出您为什么会这样做) . 编译器不允许您在任何时候更改用var声明的变量的类型。
在某些情况下,var可能会提高可读性。更多 Microsoft docs
|
5
8
在非泛型世界中,使用
在下面的示例中,从
结果是,根据您是否使用
XmlNode overload object overload
我添加IL并不是为了保持简短。但是如果你想,你可以看看ildasm,看看编译器实际上为两个foreach循环生成了不同的IL指令。 |
6
7
使用
其中之一是匿名方法的实现细节,它可能导致出现警告“访问修改的闭包”和行为,而这些行为与您在查看代码时所期望的非常不同。不像
这是否意味着您也不应该使用匿名方法(即委托、lambda)和依赖它们的库(如Linq或ParallelFX),仅仅因为在某些奇怪的情况下,行为可能不是您所期望的? 当然不是。 这意味着你需要理解你所用的语言,了解它的局限性和边缘情况,并测试它们是否按你所期望的那样工作。以“在某些情况下可能会导致意外结果”为理由排除语言功能意味着您只剩下很少的语言功能可供使用。
如果他们真的想争论这个问题,请他们证明您的一些bug可以直接归因于
|
7
4
|
8
4
当提出指导方针时,作为一个审计人员必须做的是,最好是站在审计人员一边犯错 和 .
如果你只是说“不要用
我个人喜欢
|
9
1
在大多数情况下,我将var与linq一起使用,因为我可能希望返回一个匿名类型。 |
10
1
使可读性复杂化
|
11
1
我用
我不使用
像我们每天做的那样添加更多的代码行 “在某些情况下导致意外结果” 我们创建的那些bug已经证明了这个论点的有效性,因此我建议永远冻结代码库以防止这种情况发生。 |
12
0
如果您知道类型将是什么,那么使用var就是惰性代码。它只是更容易和更清晰的阅读。当看到大量的代码时,更简单、更干净总是更好的 |
13
0
对于使用
|
14
0
只能在某些情况下使用var;在使用var时,必须在声明时初始化变量。 不能将其后属于另一类型的变量赋给该变量。
|
15
0
我看到的使用显式变量声明的“唯一”好处是,通过选择好的类型名,您可以更清楚地说明代码的意图(这比其他任何东西都重要)。var关键字的好处就是Pieter所说的。 |
16
0
|
17
0
var将编译为可以指定的静态类型。它只是消除了在代码中使用该类型显式的需要。它不是动态类型,在运行时不会/不能更改。我发现在foreach循环中使用它非常有用。
在处理枚举时,有时某个特定类型的查找时间是未知的。使用var而不是静态类型将得到相同的结果。 |
18
0
在这里,计算中的所有类型都是
使用var:
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |