1
18
好吧,我对对象初始值设定项的主要看法是,它们需要一个可变类型来开始:在可能的情况下,我更喜欢使用不可变类型。已经说过了,当一个对象初始值设定项 将 我倾向于使用它们。 如果作业的值计算起来特别复杂,我可能会三思而后行——特别是,您必须能够在一个 表达 最后,可能会比通过几个 声明 …但在这种情况下,这是相对罕见的,在这种情况下,这是可行的。 我不能说我在使用对象初始值设定项的属性分配过程中遇到了任何异常问题——这对我来说并不是什么问题。如果是这样的话,我可能会尝试编写一个失败的单元测试,在没有调试程序的情况下,代码通常很容易修复。 显然,适度总是一件好事-我不是建议把这一切推向极端…但是,如果您要设置一打属性,使用对象初始值设定项对我来说就没有设置一打属性那么重要了。这十几处房产中有没有相关的?这些应该以某种方式封装在一起吗?(在某些情况下, 是 很好——同样,特别是对于UI控件——但通常不是这样。) |
2
3
如果您正在调试应用程序,那么在大多数情况下,您应该仍然能够使用VS的调试工具来确定哪个分配导致了空引用。 但是,如果您将分配拆分为多行,我认为当抛出异常时,vs将指向正确的行:
注意:我自己不这么做,所以对我(可能)可怕的断线风格要温和一些。 |
3
0
我从不在开发中的代码中使用它,因为正如您指出的,调试更困难。 对于经过良好测试的代码,它可以使代码更具可读性,尽管有人可能会认为,您不应该为了更容易阅读而与经过良好测试和工作的代码混淆。 记住,对象初始化器主要用于语言,使LINQ语法合法。这并不意味着它应该被更广泛地使用。 尽管如此,如果要在多个控件上设置一系列属性,仅缩进就可以使您更容易快速了解某些控件的属性设置位置。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |