vb.net – 使用linq而不是每个更新列表

前端之家收集整理的这篇文章主要介绍了vb.net – 使用linq而不是每个更新列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对 linq有点新,我只使用 linq来过滤数据.现在,我想为下面写一个查询
For Each k As String In con.Numbers.Keys
      con.Numbers(k).Primary = False
Next

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
不知道我是否在某个地方误解了你.

不确定为什么要特别使用LINQ.这非常清楚:

For Each number as ContactCon In con.Numbers
    number.Primary = False
Next

如果由于某种原因你想要类似LINQ的语法,你可以使用List(T).ForEach

con.Numbers.ForEach(Sub(n) n.Primary = False)

当然,这不是“真正的”LINQ,但同样,我不确定为什么它会重要.

如果您真的被迫(?)使用LINQ,您可能会:

con.Numbers.Select(Sub(n) n.Primary = False).ToList()

但当然代码是无稽之谈.不要这样做 – 坚持明确和明显的东西,在这种情况下意味着只是循环遍历列表.

编辑

修复了功能的可怕误用

猜你在找的VB相关文章