c#从列表中的字段中获取列表

eda*_*dan 10 .net c# foreach list

我对这个令人困惑的标题感到抱歉,但我没有找到更好的方法来解释我的问题.

我有一个对象列表,myList,我们称之为'MyObject'.对象看起来像这样:

Class MyObject
{
    int MYInt{get;set;}
    string MYString{get;set;}
}

List<MyObject> myList;
...
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个很好/简短/奇特的方式来创建一个myList来自'myList',我只使用'MyString'属性.

我可以使用myList.forEach()来做到这一点,但我想知道是否有更好的方法

谢谢!!

Ahm*_*eed 16

使用LINQ:

var list = myList.Select(o => o.MYString);
Run Code Online (Sandbox Code Playgroud)

那会回来的IEnumerable<string>.为了得到一个List<string>简单的调用添加到ToList():

var list = myList.Select(o => o.MYString).ToList();
Run Code Online (Sandbox Code Playgroud)

然后像往常一样迭代结果:

foreach (string s in list)
{
    Console.WriteLine(s);
}
Run Code Online (Sandbox Code Playgroud)