【发布时间】:2013-07-19 03:00:43
【问题描述】:
C# 中的assignment operator 返回分配的值。 目前尚不清楚此功能在何处/如何提供帮助。像这样以奇怪的语法使用它可以节省一行代码,但对可读性没有任何好处:
private String value;
public void SetAndPrintValue(String value)
PrintValue(this.value = value);
}
private static void PrintValue(String value) {
/* blah */
}
那么它的目的是什么?
【问题讨论】:
-
这不仅仅是 C# 语法质量。它有时在 if 语句中很方便,允许您同时分配和测试。但是,它确实会产生更多的混淆代码,因此它没有多大用处。总结:赋值是表达式,不是语句!
-
另一个好方法是惰性实例化,如
_myInstance ?? (_myInstance = new MyObject()) -
btn1.Visible = btn2.Visible = false;
标签: c#