c# - 选择投影中的索引

标签 c# linq select ienumerable

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

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

所以我的输出变成:

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

可以吗?

最佳答案

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

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

我最初建议 new { index + 2, Name = domain } 行不通的原因是 projection initializer(您只指定一个表达式,并让编译器推断名称)仅在表达式为“简单名称”、“成员访问”或“基本访问”时有效。

关于c# - 选择投影中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4830039/

相关文章:

c# - 循环访问 IQueryable 与在 C# 中使用 Reader.Read() 循环访问 Datareader 相同吗

sql - select语句内的HQL比较

c# - 从数据表中选择和更新数据

ruby-on-rails - Ruby on Rails Select As 不起作用

c# - 在 C# 中使用反射识别自定义索引器

c# - 在嵌套列表中搜索

c# - 基于列以编程方式在共享点中创建 TreeView

c# - Linq 查询自引用对象以获取无子元素

c# - 防止子进程创建可见窗口?

c# - TFS 构建工作流 - SC.EXE 的 InvokeProcess?还是自定义事件?