为什么赋值运算符在 C# 中返回赋值

本文关键字:返回 赋值 赋值运算符 为什么 | 更新日期: 2023-09-27 18:23:48

C# 中的赋值运算符返回分配的值。目前尚不清楚此功能在何处/如何提供帮助。在像这样奇怪的语法中使用它可以为您节省一行代码,但对可读性没有任何好处:

   private String value;
   public void SetAndPrintValue(String value)
      PrintValue(this.value = value);
   }
   private static void PrintValue(String value) {
      /* blah */
   }

那么它的目的是什么呢?

为什么赋值运算符在 C# 中返回赋值

链式赋值是许多语言的主要内容,可以追溯到 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();

这可能会使一些代码更紧凑,或者允许你做一些聪明的技巧,但它肯定不会使它更具可读性。在大多数情况下,我建议不要这样做。

我通常使用它来为控件分配相同的属性。

btnSubmit.Enabled = btnAdd.Enabled = btnCancel.Enabled = txtID.Enabled= false;