串联是一个将两个对象联接在一起的过程。在LINQ中,串联操作将两个集合合并成一个集合,通过Concat操作符实现。
Concat
1>. 原型定义
public static IQueryable<TResult> Cast<TResult>(this IQueryable source);
public static IQueryable<TSource> Concat<TSource>(this IQueryable<TSource> source1, IEnumerable<TSource> source2);
2>. 示例
var expr = context.Categories .Select(c => c.CategoryName) .Concat( context.Products .Select(p => p.ProductName) ); foreach (var item in expr) { Console.WriteLine(item); }
若两个序列或集合中存在相同的元素,Concat会合并全部的元素,不会排除相同的元素。
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; int[] numbersB = { 1, 3, 5, 7, 8 }; var allNumbers = numbersA.Concat(numbersB); // {0, 2, 4, 5, 6, 8, 9, 1, 3, 5, 7, 8}