返回值的子表达式

时间:2015-01-06 20:23:08

标签: c#

this article中,有以下示例:

while((line = file.ReadLine()) != null)
{
   Console.WriteLine (line);
   counter++;
}

我还在学习C#,来自VB的背景。我的问题是:在什么情况下你可以使用其中一个"子表达式",例如(line = file.ReadLine()),实际上叫什么(我知道它可能不是"子表达式"),你怎么知道它是什么以及它返回什么(我假设在在这种情况下,它返回分配给line)的任何值?

2 个答案:

答案 0 :(得分:3)

是的,它返回7.13.1 Simple assignment中的规范中指定的值:

  

简单赋值表达式的结果是赋给左操作数的值。

您可以在任何您想要的地方和/或您认为可能有用的地方使用它们,如问题中的示例所示。

答案 1 :(得分:2)

  

简单赋值表达式的结果是赋值的值   左操作数。结果与左操作数和。的类型相同   总是被归类为价值。

因此,line = file.ReadLine()表达式的结果是分配给line变量的值(在本例中为文本行)。

http://msdn.microsoft.com/en-us/library/aa691315(v=vs.71).aspx