【问题标题】:LINQ, iterators, selecting and projectionLINQ、迭代器、选择和投影
【发布时间】:2008-12-16 22:12:04
【问题描述】:

我想做的是在维护迭代器的同时使用 LINQ 的优雅......

基本上

Class A
{
  int Position;
  string Name;
}

如果我有一个字符串列表,我想将它们投影到 List<A> 但在投影中填充位置...

List<string> names; //filled with strings

类似

List<A> foo = (from s in names select s).ToList();

但让它也迭代并填充位置..

这可能吗?

{{Position:0,Name: "name1"},{Position:1, Name: "name2"}, {Position:2, Name: "name3"}....}

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    你可以这样做:

        var listOfStrings = new List<string> {"name1", "name2", "name3", "name4"};
        var foo = listOfStrings.Select((value, position) => new {position, value}).ToList();
    

    位置将作为从 0 开始的索引递增,请检查 Select Method 过载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-22
      • 2010-11-05
      • 2015-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 1970-01-01
      相关资源
      最近更新 更多