当C#中的结果为空时,LINQ返回什么?

语言集成查询(LINQ)是基于直接将查询功能集成到C#语言中的一组技术的名称。

您可以在C#中为SQL Server数据库,XML文档,ADO.NET数据集以及支持IEnumerable或通用IEnumerable <T>接口的任何对象集合编写LINQ查询。

在Linq-to-SQL中,如果尝试获取没有结果的查询的第一个元素,则将获得不包含任何元素的序列错误

ToList返回一个空列表

示例

class Program{
   public static void Main(){
      List<string> list = new List<string> { "a" };
      IEnumerable<string> ilist = list.Where(x => x == "ABC").ToList();
      System.Console.WriteLine(ilist.Count());
      foreach (var item in ilist){
         System.Console.WriteLine(item);
      }
      Console.ReadLine();
   }
}

输出结果

0

示例

class Program{
   public static void Main(){
      List<int> list = new List<int> { 1 };
      IEnumerable<int> ilist = list.Where(x => x == 3).ToList();
      System.Console.WriteLine(ilist.Count());
      foreach (var item in ilist){
         System.Console.WriteLine(item);
      }
      Console.ReadLine();
   }
}

输出结果

0