如何从该类的数组中检索类成员的数组?

时间:2010-07-31 06:51:17

标签: c# arrays

是的,措辞不好的问题,但我真的不确定如何说出来。 :)

假设我有一个看起来像这样的简单类:

public class Contact
{
    public string Name { get; set; }
    public string PhoneNumber { get; set; }
}

我有List<>个。好吧,我希望能够获得所有Name的列表,就像Dictionary<T,U>让我做Dictionary.Keys.ToArray()Dictionary.Values.ToArray()之类的事情一样。目前,我正在做一件显而易见的事情,即循环遍历Contact的数组并创建我自己的数组。我可能天真,但我只是觉得可能有一种Dictionary方法可以在一行代码中找到它。

2 个答案:

答案 0 :(得分:5)

假设列表名为contacts,这里是一个linq查询,它应该为您提供一系列名称:

var names = (from c in contacts select c.Name).ToArray();

注意:它首先创建一个IEnumerable<string>,然后将其转换为数组。

答案 1 :(得分:4)

您可以使用LINQ:

Contact[] contacts = GetContacts();
string[] names = contacts.Select(c => c.Name).ToArray();