Linq 学习
聚合操作符 | 说明 |
Aggregate | 对序列执行一个自定义方法 |
Average | 计算数值序列的平均值 |
Count | 返回序列中的项目数(整数) |
LongCount | 返回序列中的项目数(长型) |
Min | 查找数字序列中的最小数 |
Max | 查找数字序列中的最大值 |
Sum | 汇总序列中的数字 |
连接操作符 | 说明 |
Concat | 将两个序列连成一个序列 |
转换操作符 | 说明 |
Cast | 将序列中的元素转换成指定类型 |
OfType | 筛选序列中指定类型的元素 |
ToArray | 从序列返回一个数组 |
ToDictionary | 从序列返回一个字典 |
ToList | 从序列返回一个列表 |
ToLookup | 从序列返回一个查询 |
ToSequence | 返回一个IEnumerable序列 |
元素操作符 | 说明 |
DefaultIfEmpty | 为空序列创建默认元素 |
ElementAt | 返回序列中指定索引的元素 |
ElementAtOrDefault | 返回序列中指定索引的元素,或者如果索引超出范围,则返回默认值 |
First | 返回序列中的第一个元素 |
FirstOrDefault | 返回序列中的第一个元素,或者如果未找到元素,则返回默认值 |
Last | 返回序列中的最后一个元素 |
LastOrDefault | 返回序列中的最后一个元素,或者如果未找到元素,则返回默认值 |
Single | 返回序列中的单个元素 |
SingleOrDefault | 返回序列中的单个元素,或者如果未找到元素,则返回默认值 |
相等操作符 | 说明 |
SequenceEqual | 比较两个序列看其是否相等 |
生成操作符 | 说明 |
Empty | 生成一个空序列 |
Range | 生成一个指定范围的序列 |
Repeat | 通过将某个项目重复指定次数来生成一个序列 |
分组操作符 | 说明 |
GroupBy | 按指定分组方法对序列中的项目进行分组 |
联接操作符 | 说明 |
GroupJion | 通过归组将两个序列联接在一起 |
Jion | 将两个序列从内部联接起来 |
排序操作符 | 说明 |
OrderBy | 以升序按值排列序列 |
OrderByDescending | 以降序按值排列序列 |
ThenBy | 升序排列已排列的序列 |
ThenByDescending | 降序排列已排列的序列 |
Reverse | 颠倒序列中项目的顺序 |
分区操作符 | 说明 |
Skip | 返回跳过指定数目项目的序列 |
SkipWhile | 返回跳过满足表达式项目的序列 |
Take | 返回具有指定数目项目的序列 |
TakeWhile | 返回具有满足表达式项目的序列 |
投影操作符 | 说明 |
Select | 创建部分序列的投影 |
SelectMany | 常见部分序列的一对多投影 |
限定符操作符 | 说明 |
All | 确定序列中的所有项目是否满足某个条件 |
Any | 确定序列中是否有任何项目满足条件 |
Contains | 确定序列是否包含指定项目 |
限制操作符 | 说明 |
Where | 筛选序列中的项目 |
设置操作符 | 说明 |
Distinct | 返回无重复项目的序列 |
Except | 返回代表两个序列差集的序列 |
Intersect | 返回代表两个序列交集的序列 |
Union | 返回代表两个序列并集的序列 |
1、Concat
class dogs {
public string name { get; set; }
public string size { get; set; }
}
List<dogs> list1 = new List<dogs> { new dogs { name = "dog4", size = "-4" }, new dogs { name = "dog2", size = "-2" } };
List<dogs> list2 = new List<dogs> { new dogs { name = "dog3", size = "-3" }, new dogs { name = "dog1", size = "-1" } };
List<dogs> list3 = null;
private void Button_Click_2(object sender, RoutedEventArgs e) {
list3 = list1.AsQueryable().Concat<dogs>(list2.AsQueryable()).ToList();
for (int i = ; i < list3.Count; i++) {
tb1.Text += list3[i].name + list3[i].size + ",";
}
}
Linq 学习的更多相关文章
- Linq学习工具及Lamada表达式
好东西.转载一个.以备学习 Linq学习工具: http://www.linqpad.net/ Lamada表达式: Func<int, int, int> IntPow = (x ...
- linq学习
最全的linq学习文章: http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html
- (转)Linq学习笔记
写在前面 最近在看Linq,在博客园看到这篇文章,写的通俗易懂,转来和大家一起做个分享.原文地址http://www.cnblogs.com/goscan/archive/2011/05/05/Lin ...
- C#之Linq学习笔记【转】
写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些 ...
- LINQ to XML LINQ学习第一篇
LINQ to XML LINQ学习第一篇 1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: public static void CreateDoc ...
- LINQ学习系列-----1.3 扩展方法
这篇内容继续接着昨天的Lambda表达式的源码继续下去.昨天讲了Lambda表达式,此篇讲扩展方法,这两点都是Linq带来的新特性. 一.扩展方法介绍 废话不多说,先上源码截图: 上图中Ge ...
- LINQ学习系列-----2.3 迭代器带来的延迟查询
此篇博文承接上一篇博文: LINQ学习系列-----2.2 迭代器 一.第一次执行 废话不多说,上源码: 执行结果下图: 为什么会这样?其实原因很简单 fro ...
- Linq学习以及简单用法
Linq学习 Linq(language Intergrated Query)即语言集成查询 LINQ是一组语言特性和API,使得你可以使用统一的方式编写各种查询.用于保存和检索来自不同数据源的数据, ...
- linq学习笔记
最近在学习linq的一些基础知识,看了c#高级编程及阅读了园子内部几篇优秀的博文,有所体会,感觉应该记录下来,作为以后复习使用.都是一些最基础的知识,大致分为三个部分:linq预备知识:linq查询: ...
- 【转】【收藏】LINQ学习心得分享--------(二)LINQ语法详解
原地址:http://blog.csdn.net/xuemoyao/article/details/8053444 通过上一章节的学习,相信大家已经掌握了学习LINQ的前期的准备知识.在这一节里, ...
随机推荐
- FZU 2171(线段树的延迟标记)
题意:容易理解. 分析:时隔很久,再一次写了一道线段树的代码,之前线段树的题也做了不少,包括各种延迟标记,但是在组队分任务之后,我们队的线段树就交给了另外一个队友在搞, 然后我就一直没去碰线段树的题了 ...
- nginx中针对目录进行IP限制
一个不错的nginx中针对目录进行IP限制 ,这里我以phpmyadmin目录只能让内网IP访问,而外网不能访问的配置方法,有需要的同学可参考. nginx phpmyadmin 针对内网ip用户开放 ...
- Yii: 设置数据翻页
一种方法是使用CPagination处理翻页需要的数据如:总数据项数,每页数据项数,当前页,然后在视图中使用CBasePager来绘制. 控制器动作的代码示范: function actionInde ...
- Nodejs_day01
helloworld.txt的内容: 我是nodejs 阻塞式调用 var fs = require('fs'); var data = fs.readFileSync('helloworld.txt ...
- Autodesk Stingray 游戏引擎
Autodesk的游戏引擎质量够高的. http://v.youku.com/v_show/id_XMTMwMjc0MDIwMA==.html?qq-pf-to=pcqq.group http://v ...
- yield汇编实现
yield汇编实现. #include <stdio.h #include <conio.h #include <iostream.h // // marks a location ...
- Python线程
原文出处: AstralWind 1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如下图所示: 1.2. 线程同步(锁) 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样). ...
- HW7.17
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- ajax 模仿百度下拉
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 轻松学习Linux之VI编辑器的使用
本文出自 "李晨光原创技术博客" 博客,谢绝转载!