读书人

int i = 0;var q = from n in numbers

发布时间: 2012-01-24 23:11:54 作者: rapoo

int i = 0;var q = from n in numbers select ++i;
public void Test()
{
int[] numbers = new int[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 50 };
int i = 0;
var q =
from n in numbers
select ++i;

foreach (var v in q)
{
Console.WriteLine("v = {0}, i = {1}", v, i);//i==v 真是奇怪,这里的i难道不是上边的变量i
}
}


[解决办法]
第一个.延迟查询
第二个.tolist的时候 i已经等于10了
[解决办法]
select ++i;
延迟执行,循环时输出数据
调用ToList()扩展方法,立即执行查询, i就为10
[解决办法]
延迟查询。。。。。。。。。。。。

读书人网 >.NET

热点推荐