选择投影中的索引

时间:2011-01-28 15:40:00

标签: c# linq select ienumerable

我希望我的索引从大于0的数字开始,同时执行以下操作:

var dataSource = WebConfigurationHelper.GetSupportedDomainsString().Select((domain, index) => 
new { index , Name = domain });

所以我的输出变为:

index=2 domain=zombieland
index=3 domain=mydomain

有可能吗?

1 个答案:

答案 0 :(得分:16)

您可以在选择投影中调整它:

var dataSource = WebConfigurationHelper.GetSupportedDomainsString()
     .Select((domain, index) =>  new { Index = index + 2, Name = domain });

new { index + 2, Name = domain }的原始建议不起作用的原因是投影初始值设定项(您只指定一个表达式,让编译器推断出名称)仅适用于表达式是“简单名称”,“成员访问”或“基本访问”。