C# 中的Single,SingleOrDefault,First,FirstOrDefault的区别

Single(条件):确定只符合条件的结果只有一个值;否则报错,如果有多个值则报Sequence contains more than one matching element  如果没有符合的则报Sequence contains no matching element。

SingleOrDefault(条件):在确定的条件下,只有一个或者0个值;如果一个以上的值符合条件 则报错。

First(条件):在确定条件下,至少有一个值;否则报Sequence contains no matching element错误。

FirstOrDefault(条件):在确定条件下,可以有0个包括0个  以上的值。

int[] nums = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 };

            Console.WriteLine("single:" + nums.Single(x => x>4 && x<9));
            Console.WriteLine("SingleOrDefault:" + nums.SingleOrDefault(x => x > 4 && x < 7));
            Console.WriteLine("First:" + nums.First(x => x > 4 && x < 512));
            Console.WriteLine("FirstOrDefault:" + nums.FirstOrDefault(x => x > 513 && x < 512));

  

原文地址:https://www.cnblogs.com/see-you/p/3951060.html