ちょっとLinqの専門家、
私は非常によく似た質問をしましたが、解決策はおそらく非常に簡単ですが、linqを使用してこの非常に単純なタスクを最も効率的に行う方法に頭を悩ませることはできません。
私の基本的なシナリオは、たとえば次のような値のリストがあることです。
Lst1:
a
a
b
b
c
b
a
c
a
そして、Lst1からのすべてのインデックスを保持する新しいリストを作成したいと思います。たとえば、value="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
これに関する私の課題は、リストを2回繰り返すため、非効率的であるということです。
Linqを使用して最も効率的な方法で結果を取得するにはどうすればよいですか?
ありがとう!!!!