C# 简单的linq问题:使用linq获取属性数组

C# 简单的linq问题:使用linq获取属性数组,c#,linq-to-objects,C#,Linq To Objects,假设我们有一个简单的类 public class Foo { public string FooName; } 现在我们想做一些简单的工作 public void SomeCallerMethod(List<Foo> listOfFoos) { string[] fooNames = listOfFoo. // What to do here? } public void SomeCallerMethod(List listofoos) { string[]foo

假设我们有一个简单的类

public class Foo
{
    public string FooName;
}
现在我们想做一些简单的工作

public void SomeCallerMethod(List<Foo> listOfFoos)
{
    string[] fooNames = listOfFoo. // What to do here?
}
public void SomeCallerMethod(List listofoos)
{
string[]fooNames=listOfFoo//在这里做什么?
}

如果我知道调用什么方法,我可能会找到其余的peice。

您想将类的列表转换为字符串数组。理想的方法是
Select
,它对枚举表上的每个元素进行操作,并根据返回的类型构建一个新的枚举表

您需要将lambda表达式放入返回名称的select方法中,该方法将只是“对于每个元素,选择名称”

然后需要将输出转换为数组

string[] fooNames = listOfFoos.Select(foo => foo.FooName).ToArray();
或者,使用其他语法:

string[] fooNames = (from foo in listOfFoos
                     select foo.FooName).ToArray();