C# 每个结果都带有计数器的匿名类型
在创建返回匿名对象的Linq查询时,计数器是否可能上升 例如 我已经尝试过定义一个返回递增数字的方法,但最终结果对于所有对象都是一样的 澄清一下:我希望结果是 id,名称,1C# 每个结果都带有计数器的匿名类型,c#,linq,counter,anonymous-types,C#,Linq,Counter,Anonymous Types,在创建返回匿名对象的Linq查询时,计数器是否可能上升 例如 我已经尝试过定义一个返回递增数字的方法,但最终结果对于所有对象都是一样的 澄清一下:我希望结果是 id,名称,1 id,名称,2 身份证,姓名,3 等等使用(同样)流利的语法,您可以执行以下操作: var counter = 0; var results = from foo in bar select new { foo.ID, foo.Name, Counter = ++counter }; var resul
id,名称,2
身份证,姓名,3 等等使用(同样)流利的语法,您可以执行以下操作:
var counter = 0;
var results =
from foo in bar
select new { foo.ID, foo.Name, Counter = ++counter };
var results = bar.Select((foo, index) => new
{
foo.ID,
foo.Name,
Counter = index + 1
});
请注意,此重载在查询语法中不可用。类似的内容可能是:
var result= db.bar.Select((foo,i)=>select new {foo.ID, foo.Name, Counter = i+1});
使用索引Select()重载:
var results = bar.Select((foo, i) => new { foo.ID, foo.Name, Counter = i + 1});
var results = bar.Select((foo, i) => new { foo.ID, foo.Name, Counter = i + 1});