我做作业时的返回值是多少?
例如,我可以这样做吗?(即赋值返回被赋值的值)
Dim a As Integer = 1
Dim b As Integer = 2
a = b = 3
今天写这段代码的时候出现了一个问题:
Dim updates = GetUpdates()
While updates.Count > 0
Foo.ApplyUpdates(updates)
updates = GetUpdates()
End While
我有点希望我能写成这样......
While (updates = GetUpdates).Count > 0
Foo.ApplyUpdates(updates)
End While
我知道它不是那么干净......(我完全没有声明过updates
)但它让我对分配在.NET中的工作方式感到好奇......它是一个有返回值的函数吗?如果是这样......它会返回什么?
编辑
我尝试了第一段代码。看起来编译器将其解释为将 b 和 3 的比较结果分配给 a...,这当然是编译器错误。
而对于第二个代码块,我知道该运算符=
没有为任何类型定义updates
......即它认为这是一个比较,而不是一个赋值。
所以补充一下我的问题,为什么它会这样工作?仅仅是因为 vb.net 重载了=
具有两种含义(赋值和比较)的符号吗?