list.First()、list.ElementAt(0)、list[0]の違いは何ですか? 質問する

list.First()、list.ElementAt(0)、list[0]の違いは何ですか? 質問する

タイトルの通り... list.First()、list.ElementAt(0)、list[0]の間には実際の違いはありますか?

ベストアンサー1

  1. .First()ソース リストに要素が含まれていない場合は例外がスローされます。備考欄を参照これを回避するには、 を使用しますFirstOrDefault()

  2. .ElementAt(0)インデックスがリスト内の要素数以上の場合、例外がスローされます。これを回避するには、 を使用しますElementAtOrDefault(0)。LINQ To SQL を使用している場合、これを sql に変換することはできませんが、.First()に変換できますTOP 1

  3. インデクサーは、インデックスがリスト内の要素数以上である場合にも例外をスローします。OrDefaultこれを回避するオプションは提供されておらず、LINQ To SQL の SQL に変換することはできません。編集: オブジェクトが IEnumerable の場合、このようなインデクサーを使用できないという明白な事実について言及するのを忘れていました。オブジェクトが実際のリストである場合は、問題ありません。

おすすめ記事