如何从常用对象列表中检索所有属性值?

时间:2011-01-31 18:14:38

标签: c# linq collections extension-methods

我想从集合中检索所有单个属性作为数组:

class Foo{
   public string Bar { get; set; }
   public string Baz { get; set;}
}

我想从集合中获取所有Bar属性

var list = new List<Foo>();

string[] allBars = list. .... 

它是如何继续的?

感谢您的帮助。

2 个答案:

答案 0 :(得分:11)

您可以使用:

string[] allBars = list.Select(foo => foo.Bar).ToArray();

如果您特别需要将它转换为数组,我只会将其转换为数组。如果您的目标只是输出“条形码”列表,您可以这样做:

var allBars = list.Select(foo => foo.Bar); // Will produce IEnumerable<string>
foreach(var bar in allBars)
{
    // Do something with bar
}

答案 1 :(得分:0)

var query = from foo element in foo_bar_list
                        where foo.Bar == ""
                        select new
                        {
                            class1.Baz
                        };