sur*_*van 6 linq vb.net foreach
我对linq有点新,我只使用linq来过滤数据.现在,我想为下面写一个查询:
For Each k As String In con.Numbers.Keys
con.Numbers(k).Primary = False
Next
Run Code Online (Sandbox Code Playgroud)
Con.Numbers是一个字典,但现在我把它转换成一个列表,因此上面的代码不能用于列表,请你告诉我如何用Linq实现它是Con.NUmbers是一个列表.谢谢.
附加信息:类结构是:
Public Class ContactCon
Property ConId As String
Property ConRowID As String
Property Title As String
Property Mob1 As String
Property Mob2 As String
Property Land1 As String
Property Land2 As String
Property Email1 As String
Property Email2 As String
Property Fax1 As String
Property Fax2 As String
Property Primary As Boolean
Public Sub New()
ConId = ""
ConRowID = ""
Title = "Contact1"
Mob1 = ""
Mob2 = ""
Land1 = ""
Land2 = ""
Email1 = ""
Email2 = ""
Fax1 = ""
Fax2 = ""
Primary = False
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
Hen*_*nry 16
不知道我是否在某个地方误解了你.
不确定为什么要特别使用LINQ.这非常清楚:
For Each number as ContactCon In con.Numbers
number.Primary = False
Next
Run Code Online (Sandbox Code Playgroud)
如果由于某种原因你想要类似LINQ的语法,你可以使用List(T).ForEach:
con.Numbers.ForEach(Sub(n) n.Primary = False)
Run Code Online (Sandbox Code Playgroud)
当然,这不是"真正的"LINQ,但同样,我不确定为什么它会重要.
如果您真的被迫(?)使用LINQ,您可能会:
con.Numbers.Select(Sub(n) n.Primary = False).ToList()
Run Code Online (Sandbox Code Playgroud)
但当然代码是无稽之谈.不要这样做 - 坚持明确和明显的东西,在这种情况下意味着只是循环遍历列表.
编辑
修正了可怕的误用 Function