如何快速将List(Of Object)转换为List(Of Object.field“)?

时间:2012-05-29 19:37:28

标签: vb.net linq list

假设我有一张Cat列表。

Public Class Cat 
    Public Property id As Guid
    Public Property name As String
    Public Property race As catRace
End Class

如何使用id属性快速将此List(Of Cat)转换为List(Of Guid)?

我能做到:

Dim newList As List(Of Guid)
For each item in catList
    newList.Add(item.id)
Next

但我认为必须有一种方法可以更快地做到这一点(1 LOC)。我只是找不到。

3 个答案:

答案 0 :(得分:2)

一行代码可能会使输入更快,但执行速度不一定快。

Dim newList = From c In catList Select c.id

答案 1 :(得分:1)

LINQ。 catList.Select(T => t.id)。不完全确定VB相当于=>虽然是为了lambda。

答案 2 :(得分:1)

一行代码,使用扩展方法而不是LINQ。

newList = catList.Select(Function(t) t.id).ToList

如果您更喜欢LINQ

newList = (From c In catList Select c.id).ToList
相关问题