1. ホーム
  2. c#

[解決済み] LINQは結果が空の場合、何を返すのですか?

2022-03-15 14:43:12

質問

LINQクエリについて質問があります。通常、クエリは IEnumerable<T> という型があります。戻り値が空の場合、NULLかどうかわからない。次のような場合、よくわかりません。 ToList() が例外を投げるのか、それとも単に空の List<string> に何もなければ IEnumerable の結果は?

   List<string> list = {"a"};
   // is the result null or something else?
   IEnumerable<string> ilist = from x in list where x == "ABC" select x;
   // Or directly to a list, exception thrown?
   List<string> list1 = (from x in list where x == "ABC" select x).ToList();

とても素朴な疑問なのですが、当分VSは使えません。

どのように解決するのですか?

空の列挙体を返します。nullになることはありません。これで安心して眠れます :)