1

我正在使用 VS 2008。

我有一个小用户控件,它有一个参数类型为 的方法List<String>。我有一个对象列表(称为它MyObjectList,类型List<MyObject>),其定义包括一个字符串成员(称为它myString)。

我想得到一个List<String>包含所有myString字符串的MyObjectList.

当然,我可以编写一个遍历的小循环MyObjectList,将每个myString值添加到List<String>对象中。但我正在努力变得尽可能现代。

随着 lambda 表达式的出现,我认为必须有更好的方法来做到这一点。在那儿?如果是这样,怎么做?VS 2012 中的答案有什么不同吗?

4

1 回答 1

4

假设您的列表是 aList<MyObject>并且该类MyObject具有 property MyString,您可以使用 LINQ 和 lambda 来执行此操作:

var listOfStrings = myObjectList.Select(o => o.MyString).ToList();

这适用于任何面向 .NET 3.0 或更高版本的程序集;VS的版本无关紧要。

于 2012-10-10T19:44:04.887 回答