C# · 12月 28, 2021

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

我很抱歉这个混乱的头衔,但我没有找到一个更好的方式来解释我的问题.

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

Class MyObject{ int MYInt{get;set;} string MYString{get;set;}}List<MyObject> myList;…

我正在寻找一个漂亮/简短/花哨的方式来创建一个列表< string>从’myList’,我只使用’MyString’属性.

我可以使用myList.forEach(),但我想知道是否有更好的方法

谢谢!!

解决方法 使用LINQ: var list = myList.Select(o => o.MYString);

这返回一个IEnumerable< string&gt ;.获取列表< string>只需添加一个ToList()的调用:

var list = myList.Select(o => o.MYString).ToList();

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

foreach (string s in list){ Console.WriteLine(s);}