是的,措辞不好的问题,但我真的不确定如何说出来。 :)
假设我有一个看起来像这样的简单类:
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
方法可以在一行代码中找到它。
答案 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();