在this article中,有以下示例:
while((line = file.ReadLine()) != null)
{
Console.WriteLine (line);
counter++;
}
我还在学习C#,来自VB的背景。我的问题是:在什么情况下你可以使用其中一个"子表达式",例如(line = file.ReadLine())
,实际上叫什么(我知道它可能不是"子表达式"),你怎么知道它是什么以及它返回什么(我假设在在这种情况下,它返回分配给line
)的任何值?
答案 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