LINQ 查询操作-投影

作者:vkvi 来源:ITPOW(原创) 日期:2009-10-6

我们一般说的 LINQ 是指 LINQ 表达式,详见 LINQ 步步学,但除了表达式以外,LINQ 查询操作更方便,凡是实现了接口 IEnumerable<T> 或 IQueryable<T> 的,都可以用 LINQ 查询操作。

Select

int[] arr = { 1, 2, 3, 7, 8, 9, 6, 5, 4 };
var items = arr.Select(i => i);
foreach (var m in items)
{
    Response.Write(m.ToString() + "<br>");
}

显示:

1
2
3
7
8
9
6
5
4

如果改变 Lambda 表达式那句为 var items = arr.Select(i => i + 3);,那么输出时每一项元素的值将比现有基础上大 3,即:4、5、6、10、11、12、9、8、7。

SelectMany

int[] arr = { 1, 2, 3, 7, 8, 9, 6, 5, 4 };
int[] arr2 = { 3, 2, 1 };
List<int[]> list = new List<int[]>();
list.Add(arr);
list.Add(arr2);
var items = list.SelectMany(i => i);
foreach (var m in items)
{
    Response.Write(m.ToString() + "<br>");
}

显示:

1
2
3
7
8
9
6
5
4
3
2
1
相关文章