文档章节

【C#】学习笔记 Linq相关

o
 osc_wws45aot
发布于 2019/08/20 01:30
字数 431
阅读 12
收藏 0

精选30+云产品,助力企业轻松上云!>>>

Language-Integrated Query(语言集成查询)

写了个demo,具体看🌰

涉及到了lambda表达式和一点点的delegate委托相关,但还是比较容易理解的。

还有yield,这个还不太清楚。

1 namespace LINQDemo
2 {
3     public class Employee
4     {
5         public int Id { get; set; }
6         public string Name { get; set; }
7         
8     }
9 }

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 
 5 namespace LINQDemo
 6 {
 7     class Program
 8     {
 9         static void Main(string[] args)
10         {
11             IEnumerable<Employee> developers = new Employee[]
12             {
13                 new Employee{Id=1,Name="Scott"},
14                 new Employee{Id=2,Name="Chris"}
15             };
16             // List<Employee> sales = new List<Employee>()
17             // {
18             //     new Employee{Id=3,Name="Alex"}
19             // };
20 
21             // List<T>继承自IEnumerable<T>,因此可以这样写
22             IEnumerable<Employee> sales = new List<Employee>()
23             {
24                 new Employee{Id=3,Name="Alex"}
25             };
26             
27             // 第一种写法
28             // foreach (var employee in developers.Where(NameStartsWithS))
29             // {
30             //     System.Console.WriteLine(employee.Name);
31             // }
32             // 第二种写法 委托
33             // foreach (var employee in developers.Where(
34             //     delegate (Employee employee)
35             // {
36             //     return employee.Name.StartsWith("S");
37             // }))
38             // {
39             //     System.Console.WriteLine(employee.Name);
40             // }
41             // 第三种写法 Lambda Expressions
42             // foreach (var employee in developers.Where(
43             //     e => e.Name.StartsWith("S")))
44             // {
45             //     System.Console.WriteLine(employee.Name);
46             // }
47             // 第三(1/2)种写法 Lambda Expressions
48             var query = developers.Where(e => e.Name.Length == 5)
49             .OrderBy(e => e.Name)
50             .Select(e => e);
51 
52             // 第四种写法
53             /*
54             from 设置局部变量(a) in 需要查询的对象的变量名(b)
55             where  设置查询条件(a.Name.Length>5)
56             orderby 设置排序规则(a.Name)
57             select 查询必须以select或者时group子句结尾。 而上面的lambda表达式则没有这样的限制。总之这是语法规定的内容。
58              */
59             var query2 = from developer in developers
60                          where developer.Name.Length == 5
61                          orderby developer.Name
62                          select developer;
63 
64             foreach (var employee in query)
65             {
66                 System.Console.WriteLine(employee.Name);
67             }
68             System.Console.WriteLine("*******");
69             foreach (var employee in query2)
70             {
71                 System.Console.WriteLine(employee.Name);
72             }
73         }
74         private static bool NameStartsWithS(Employee employee)
75         {
76             return employee.Name.StartsWith("S");
77         }
78     }
79 }

 

未完待续。。

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

jQuery获取select onChange的值 - jQuery get value of select onChange

问题: I was under the impression that I could get the value of a select input by doing this $(this).val(); 我的印象是我可以通过执行$(this).val();来获取选择输入的值$(this).val()......

javail
56分钟前
13
0
道翰天琼解密宇宙信息大脑三者最核心奥秘,破解认知智能基础理论(群聊形式)

三体论是探索研究宇宙,信息和人类大脑三者关系的理论体系。是认知智能的奠基理论体系之一。宇宙和信息,信息和人类大脑,人类大脑和宇宙,三者之间存在着某种未被完全揭示的奥秘。三体论的核...

jackli2020
58分钟前
15
0
OSChina 周日乱弹 —— 这些照片能留存下来要感谢蛇不吃相机

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《28》- ゴンチチ 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :真得学...

小小编辑
今天
76
0
如何在视频中的对象后面添加图像

作者|PRATEEK JOSHI 编译|VK 来源|Analytics Vidhya 概述 在运动物体后面添加图像是一个典型的计算机视觉项目 了解如何使用传统的计算机视觉技术在视频中添加logo 介绍 我的一位同事向我提出...

人工智能遇见磐创
今天
14
0
UKUI Desktop Environment

install $ sudo add-apt-repository ppa:ubuntukylin-members/ukui3.0$ sudo apt upgrade or $ sudo apt-get install curl$ curl -sL 'https://keyserver.ubuntu.com/pks/lookup?&op=get&......

qwfys
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部