获取数组的属性作为新数组c#

时间:2019-06-11 16:01:54

标签: c# arrays sub-array

假设我有一个类似以下的类:

class Book
{
    public int id;
    public string title;
}

稍后某处我有一个数组Book[] books,现在想要一个标题为string[] titles = {books[0].title, books[1].title, ..., books[n].title}的数组。有没有比遍历books数组更简单的方法?像

string[] titles = books.getProperty(title)

预先感谢

1 个答案:

答案 0 :(得分:5)

通常,您将使用Linq方法来操作集合,例如(SelectToArray):

var titles = books.Select(x => x.title).ToArray();

但是,由于这是一个数组,因此需要一个数组,因此您还可以在Array类型(ConvertAll)上使用一些静态方法:

var titles = Array.ConvertAll(books, x => x.title);