C#小知识点记录(QQ交流群的一个小问题)Linq提取数据

请教 这里 LINQ想 找到 最后的 4条 记录
然后放在 这里
这个 List Linq查找怎么写呀?

解答:写了一个小例子作为解答。

 1 namespace  C_Sharp
 2 {
 3     class Program
 4     {
 5         static void Main(string[] args)
 6         {
 7             //声明
 8             List<Person> listPerson = new List<Person>() { 
 9                                                            new Person {Type="A", FirstName="",LastName="",Age=20},
10                                                            new Person {Type="A",  FirstName="",LastName="",Age=21},
11                                                            new Person { Type="A", FirstName="",LastName="",Age=22},
12                                                            new Person { Type="A", FirstName="",LastName="",Age=23},
13                                                            new Person { Type="A", FirstName="",LastName="",Age=24},
14                                                            new Person { Type="A", FirstName="",LastName="",Age=25},
15             };
16 
17             var listResult = listPerson.Where(a => a.Type == "A")     //where过滤
18                .OrderBy(a => a.Age)                                   //排序(降序)
19                .Take(4)                                               //选取降序的前4个,就是升序后的后4个            
20                .ToList();                                             //IEnumerable<Person>转换成List<Person>,加ToList<TResult>()非延迟查询        
21 
22             foreach (var person in listResult)
23             {
24                 Console.WriteLine("姓名:{0},年龄:{1}", person.FirstName + person.LastName, person.Age);
25             }
26             Console.ReadKey();
27         }
28     }
29     class Person
30     {
31         public string Type { get; set; }
32         public string FirstName { get; set; }
33         public string LastName { get; set; }
34         public Int32 Age { get; set; }
35     }
36 }


输出:

我想当然的,以为会报错,试过之后,的确没报错。当listPerson的数据只有三个时,仍然使用此查询,没有报错。

原文地址:https://www.cnblogs.com/zhangyuanbo12358/p/3970490.html