我有以下问题:
public class AwesomeClass
{
public string SomethingCool { get; set; }
public string SomethingUseless { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个包含许多属性的类,我需要将这些类的列表转换为字符串列表,其中字符串表示类中的属性.
List<AwesomeClass> stuff = new List<AwesomeClass>();
//Fill the stuff list with some tings.
List<string> theCoolStuff = //Get only the SomethingCool property in the AwesomeClass list.
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为字符串列表的原因是因为我有一个方法将List作为参数,但SomethingCool属性包含我需要此列表的数据.
注意:我可以在列表中使用foreach循环并填充字符串列表,但我正在寻找一种更优雅的方法,也许LINQ可以为我做这个吗?
Sel*_*enç 13
你可以简单地使用Select:
var theCoolStuff = stuff.Select(x => x.SomethingCool).ToList();
Run Code Online (Sandbox Code Playgroud)
什么Select是投影,它投射每个项目并将它们转换(不转换)为另一种形式.