聚合操作符 | 说明 |
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 + ","; } }