我有以下问题:
public class AwesomeClass
{
public string SomethingCool { get; set; }
public string SomethingUseless { get; set; }
}
我有一个包含许多属性的类,我需要将这些类的列表转换为字符串列表,其中字符串表示类中的一个属性。
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.
我需要将其转换为字符串列表的原因是因为我有一个将 List 作为参数的方法,但 SomethingCool 属性包含此列表所需的数据。
注意:我可以在列表上使用 foreach 循环并填充字符串列表,但我正在寻找一种更优雅的方法,也许 LINQ 可以为我做到这一点?
最佳答案
您可以简单地使用Select
:
var theCoolStuff = stuff.Select(x => x.SomethingCool).ToList();
Select
所做的是一个投影,它投影每个项目并将它们转换(而不是转换)为另一种形式。
关于c# - 将列表转换为列表<string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28606585/