【发布时间】:2016-08-03 15:45:46
【问题描述】:
有没有办法使用 linq 使用列表(字符串)更新列表(某个类)的值?例如,我得到了
Public class A
Public Property value As String
End Class
Public class B
Public Property AList As List(of A)
End Class
所以我有一个
Dim valueList As List(Of String)
我想将 AList 的所有值设置为 valueList 的值。例如给定
valueList = {"A", "B", "C"}
我想要
AList = { AClass1, AClass2, AClass3 }
在哪里
AClass1.value = "A"
AClass2.value = "B"
AClass3.value = "C"
【问题讨论】:
-
您要为
AList生成一个新列表,还是要更新该列表中已有的元素?请注意,后者与 LINQ 的用途相反。 LINQ 用于从集合中查询,而不是用于副作用或更改集合中的值。 -
您有一个 List
,因此您可以使用 List.ForEach。具体不推荐使用LINQ:stackoverflow.com/a/200614/832052 -
谢谢。我还是 Linq 的新手,对它能做什么和不能做什么并不十分熟悉..