将List转换为List <string>

Mik*_*son 2 c# linq list

我有以下问题:

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是投影,它投射每个项目并将它们转换(不转换)为另一种形式.

  • 值得补充的是,这实际上是*投影*(或映射)而不是*转换*操作. (5认同)