我有一組類如下:如何使用linq選擇一個孩子的第一個孩子?
public class ResponseWrapper
{
public IEnumerable<Book> data { get; set; }
}
public class Book
{
public List<Author> author_data { get; set; }
public string isbn13 { get; set; }
public string publisher_name { get; set; }
public string title { get; set; }
}
public class Author
{
public string name { get; set; }
public string id { get; set; }
}
Book類包含子作者的項目清單。在我的情況下,我試圖選擇集合中第一個作者項目的'name'屬性。
我想我會用能夠選擇它:
string author = response.data.Where(b => b.author_data.Any()).Select(b => b.author_data.FirstOrDefault().name);
但這不會編譯,我想這是因爲選擇返回一個集合?我只是想獲得一個結果。
任何人都可以告訴我正確的linq聲明我需要獲得單一的結果我後?
謝謝
移動最後括號中的一個點到左:'response.data.Where(B => b.author_data.Any())選擇(B =。 >(不是在名字後面,而是在FirstOrDefault()後面)。 – bump