嘿,那里的 Linq 专家,
我刚刚问了一个非常相似的问题,并且知道解决方案可能非常简单,但仍然发现自己无法理解如何使用 linq 以最有效的方式完成这个相当简单的任务。
我的基本情况是我有一个值列表,例如,说:
Lst1:
a
a
b
b
c
b
a
c
a
我想创建一个新列表,它将保存 Lst1 中的所有索引,例如 value = "a"。所以,在这个例子中,我们会有:
LstIndexes:
0
1
6
8
现在,我知道我可以使用 Loops 来做到这一点(我宁愿避免使用 Linq),我什至想出了如何通过以下方式使用 Linq 来做到这一点:
LstIndexes= Lst1.Select(Function(item As String, index As Integer) index) _
.Where(Function(index As Integer) Lst1(index) = "a").ToList
我对此的挑战是它迭代列表两次,因此效率低下。
如何使用 Linq 以最有效的方式获得结果?
谢谢!!!!