LINQ系列:Linq to Object串联操作符

时间:2022-12-07 15:35:55

  串联是一个将两个对象联接在一起的过程。在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}