次のような一連のクラスがあります。
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 クラスには、子 Author アイテムのリストが含まれています。私の場合、コレクション内の最初のAuthor アイテムの 'name' プロパティを選択しようとしています。
次を使用して選択できると思いました:
string author = response.data.Where(b => b.author_data.Any()).Select(b => b.author_data.FirstOrDefault().name);
ただし、それはコンパイルされず、Select がコレクションを返すためだと思いますか? 単一の結果を得ようとしているだけです。
私が求めている単一の結果を得るために必要な正しいlinqステートメントを誰か教えてもらえますか?
ありがとう