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 = 0; i < list3.Count; i++) { tb1.Text += list3[i].name + list3[i].size + ","; } }

浙公网安备 33010602011771号