如果我得到一个Linq-Query,我知道它只会返回1个结果,如下所示:
Dim result = From g In Foo.Bar
Where g.keyID = 1
Select g
...我还需要使用For Each循环来获取值吗?还是我可以使用其他任何东西来处理1-result-queries?
For Each x In result
TextBox1.Text = x.field1
TextBox2.Text = x.field2
TextBox3.Text = x.field3
Next
答案 0 :(得分:3)
您可以使用Enumerable.First
/ Enumerable.FirstOrDefault
或Enumerable.Single
/ Enumerable.SingleOrDefault
(如果有多个,则为例外情况)。
Dim firstResult = result.FirstOrDefault()
If firstResult IsNot Nothing Then
TextBox1.Text = firstResult.field1
TextBox2.Text = firstResult.field2
TextBox3.Text = firstResult.field3
End If
First
Single
,但如果有多个OrDefault
的方法将抛出异常OrDefault
方法将返回默认值(Nothing
作为参考类型。)