程序运行结果如下:
6.First 返回序列第一个满足条件元素
7.FirstOrDefault 返回序列第一个满足条件元素,如果没有找到则返回默认值
8.Last
9.LastOrDefault
10.Single返回序列中唯一的元素,如果序列中包含多个元素,会引发运行错误!
11.SingleOrDefault 找出序列中满足一定条件的元素,如果序列为空则返回默认值, 如果序列中包含多个多个元素会引发运行错误!!
12.ElementAt 获得指定索引处的元素
13.ElementAtOrDefault 获得指定索引处的元素,如果超出索引,则返回元素类型的默认值
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace First_FirstOrDefault_Last_LastOrDefault_ElementAt_ElementAtOrDefaul
{
class Program
{
static void Main(string[] args)
{
//6.First
string[] names = { "DebugLZQ", "Sarah", "Jerry", "Jeffrey", "M&M" };
var item = names.First();
var item2 = names.First(n => n == "Sarah");
Console.WriteLine("{0},{1}",item,item2 );
Console.ReadKey();
//7.FirstOrDefault
var item3 = names.FirstOrDefault();
var item4 = names.FirstOrDefault(n => n == "Sarah");
Console.WriteLine("{0},{1}", item3, item4);
Console.ReadKey();
//8.Last
var item5 = names.Last();
var item6 = names.LastOrDefault(n => n == "Sarah");
Console.WriteLine("{0},{1}", item5, item6);
Console.ReadKey();
//9LastOrDefault
var item7 = names.LastOrDefault();
var item8 = names.LastOrDefault(n => n == "Sarah");
Console.WriteLine("{0},{1}", item7, item8);
Console.ReadKey();
//10.Single返回序列中唯一的元素,如果序列中包含多个元素,会引发运行错误!
try
{
var item9 = names.Single();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
//
var item10 = names.Single(n => n == "Sarah");
Console.WriteLine("{0}",item10 );
Console.ReadKey();
//11.SingleOrDefault 找出序列中满足一定条件的元素,如果序列为空则返回默认值, 如果序列中包含多个多个元素会引发运行错误!!
try
{
var item11 = Enumerable.Empty<string>().SingleOrDefault();
Console.WriteLine("{0}",item11);//不报错,如果序列为空就返回默认值
}
catch (Exception ex)
{
Console.WriteLine(ex.Message );
}
try
{
var item12 = names.SingleOrDefault();
Console.WriteLine("{0}", item12);//报错,序列包含多行错误
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
var item13 = Enumerable.Empty<string>().DefaultIfEmpty("DebugLZQ").SingleOrDefault();
Console.WriteLine("{0}", item13);
var item14 = names.SingleOrDefault(n => n == "xxx");
Console.WriteLine("{0}", item14);
Console.ReadKey();
//12ElementAt 获得指定索引处的元素
var item15 = names.ElementAt(3);
Console.WriteLine("{0}", item15);
Console.ReadKey();
//13ElementAtOrDefault 获得指定索引处的元素,如果超出索引,则返回元素类型的默认值
var item16 = names.ElementAtOrDefault(3);
var item17 = names.ElementAtOrDefault(100);
Console.WriteLine("{0},{1}",item16,item17);
Console.ReadKey();
}
}
}











