大家好,有Linq方面的专家吗?
我刚才问了一个非常类似的问题,并且知道解决方案可能非常简单,但仍然发现自己无法理解如何使用linq以最有效的方式完成这个相当简单的任务。
我的基本情况是我有一个值的列表,例如:
Lst1:
a
a
b
b
c
b
a
c
a
我想创建一个新的列表,其中包含Lst1中所有值为"a"的索引。
LstIndexes:
0
1
6
8
现在,我知道我可以使用循环来完成这个任务(但我更倾向于使用Linq),我甚至已经想出一种用以下方式使用Linq完成此任务的方法:
LstIndexes= Lst1.Select(Function(item As String, index As Integer) index) _
.Where(Function(index As Integer) Lst1(index) = "a").ToList
我的问题是它要两次遍历列表,因此效率低下。
如何使用Linq以最高效的方式获得结果?
谢谢!!!