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

  串联是一个将两个对象联接在一起的过程。在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}
posted @ 2014-10-22 10:22 libingql 阅读(...) 评论(...) 编辑 收藏