私はLinqが初めてで、SQLクエリの1つをC#に変換してこれを達成しようとしています。次の一連の文字列があるとします。
ABC-pqr-cv3-xa
LKJ-eqq-cb2-ya
POI-qqq-aaa-1
ABC-pqr-cv3-xb
UIO-qqq-xa
LKJ-eqq-cb2-za
POI-qqq-aaa-2
UIO-qqq-xb
LKJ-eqq-cb2-yb
POI-qqq-aaa-3
最後の文字を除いて文字列全体が一致するかどうかに基づいて、これらの文字列をグループ化したいと考えています。したがって、私が期待している出力は次のとおりです。
ABC-pqr-cv3-xa -- 1
ABC-pqr-cv3-xb -- 1
LKJ-eqq-cb2-ya -- 2
LKJ-eqq-cb2-yb -- 2
UIO-qqq-xa -- 3
UIO-qqq-xb -- 3
POI-qqq-aaa-1 -- 4
POI-qqq-aaa-2 -- 4
POI-qqq-aaa-3 -- 4
LKJ-eqq-cb2-za -- 5
これを単純に行うには、O(n^2) 回の比較が必要になります。これを達成するためのより良い方法はありますか?グループの番号付け自体は重要ではありません。私は現在これを試しており、効率的な方法を見つけたら回答を投稿します。