有没有一种语法简洁的方法可以从vb

时间:2018-10-19 14:44:46

标签: vb.net lambda

是否存在Lambda表达式从VB.Net中的对象列表中提取特定参数的列表?

For Each item As MyObj In MyListOfMyObj
    Label &= item.Name
Next

1 个答案:

答案 0 :(得分:1)

是的,您可以使用Select方法,如下所示:

Dim names() As IEnumerable(Of String) = MyListOfMyObj.Select(Function(item) item.Name)

然后,您可以轻松地将它们与String.Join结合使用,例如:

Label = String.Join(", ", names)

或者,如果您不需要分隔符(例如您的示例),则可以使用String.Concat

Label = String.Concat(names)

因此,您可以像这样一行来完成它:

Label = String.Concat(MyListOfMyObj.Select(Function(item) item.Name))

您是否更简洁,更容易理解是您的喜好。