首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

int i = 0;var q = from n in numbers select ++i;该怎么处理

2012-01-24 
int i 0var q from n in numbers select ++ipublic void Test(){int[] numbers new int[] { 5, 4,

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
[解决办法]
延迟查询。。。。。。。。。。。。

热点排行