【发布时间】:2018-06-25 14:23:50
【问题描述】:
在 LINQ 中这个等价物是什么?
for (int i = 0; i < list2.Count; i++) {
newList.Add(list1[list2[i]])
}
【问题讨论】:
-
到目前为止你尝试了什么?
-
newList.AddRange(list2.Select(item => list1[item])); -
您确实意识到“在 Linq 中执行此操作”以及您已经拥有的内容基本上将以(几乎)相同的方式执行相同的操作。那么为什么要“使用 LINQ 执行此操作”?
-
你为什么在乎?你的代码不起作用吗?你有什么问题吗?无论如何,这样做是 linq 只会让它变得更加复杂和难以阅读——除非你知道它是如何工作的。
-
谢谢!这是我正在处理的一个非常普遍的操作,与我最初的解决方案相比,Dmitry 的干净解决方案增加了代码的可读性。我关心,因为可读性是一个软件质量指标,我认为每个人都应该关心它。