代码之家  ›  专栏  ›  技术社区  ›  Jimmy

用于根据索引从列表中获取项的Lambda表达式

  •  1
  • Jimmy  · 技术社区  · 15 年前

    是否可以根据索引一次性从列表中获取对象?例如我有一个 List<string> alist . 我有一个整数列表 List<int> indexes 它有索引。是否可以从原始列表中获取与数组中的索引相等的结果列表。

    我在找一些像 List<string> resultlist = alist.GetItems(items.indexin(indexes)) (这只是我的想象,不是真正的语法对不起)

    3 回复  |  直到 15 年前
        1
  •  4
  •   ChaosPandion    15 年前

    这样的做法应该管用:

    var result = indexes.Select(i => alist[i]).ToList();
    

    当然,我建议你让它更结实一点。

        2
  •  1
  •   Klaus Byskov Pedersen    15 年前
    var result = alist.Where((theString, theIndex) => indexes.Contains(theIndex)); 
    
        3
  •  0
  •   Andrew    15 年前
    indexes.Select<int, string>(i => alist[i]).ToList<string>();