2012-05-29 72 views
0

假设我有一个猫的列表。如何将列表(对象)快速转换为列表(“Object.field”)?

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

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

我可以这样做:

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

但我认为必须有一个办法做到这一点更快(1个LOC)。我无法找到如何。

回答

1

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

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

如果你喜欢的VB拉姆达LINQ

newList = (From c In catList Select c.id).ToList 
1

LINQ。 catList.Select(T => t.id)。不完全确定什么VB等效= =是lambda的。

+0

航空代码。函数(t)t.id – MarkJ

2

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

Dim newList = From c In catList Select c.id 
相关问题