串联是一个将两个对象联接在一起的过程。在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 = { , , , , , , };
int[] numbersB = { , , , , };
var allNumbers = numbersA.Concat(numbersB); // {0, 2, 4, 5, 6, 8, 9, 1, 3, 5, 7, 8}