This question already has answers here:
Why do assignment statements return a value?
(14个回答)
7年前关闭。
C# 中的 assignment operator 返回分配的值。
目前尚不清楚此功能在何处/如何有用。以这种奇怪的语法使用它可以为您节省一行代码,但对可读性没有任何好处:
那它的目的是什么?
或这个:
这可能会使某些代码更紧凑,或者允许您做一些巧妙的技巧,但是它并没有使它更具可读性。在大多数情况下,我建议您反对它。
(14个回答)
7年前关闭。
C# 中的 assignment operator 返回分配的值。
目前尚不清楚此功能在何处/如何有用。以这种奇怪的语法使用它可以为您节省一行代码,但对可读性没有任何好处:
private String value;
public void SetAndPrintValue(String value)
PrintValue(this.value = value);
}
private static void PrintValue(String value) {
/* blah */
}
那它的目的是什么?
最佳答案
Chained assignment是可追溯到C(可能更早)的许多语言的主要内容。 C#支持它,因为它是此类语言的共同特征,并且用途有限(例如goto
语句)。
有时您可能会看到如下代码:
int a, b, c;
for(a = b = c = 100; a <= b; c--)
{
// some weird for-loop here
}
或这个:
var node = leaf;
while(null != node = node.parent)
node.DoStuff();
这可能会使某些代码更紧凑,或者允许您做一些巧妙的技巧,但是它并没有使它更具可读性。在大多数情况下,我建议您反对它。
关于c# - 为什么赋值运算符在C#中返回赋值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17737436/
10-13 03:25