1

私は望ましい出力を探しています。これは私がそれを得ることができる適切な場所です。

私はids1list、ids2listとしてC#に2つのリストを持っています

ids1list:
Title
nen154
source

ids2list:
tittl
Title
nen154
WTOC
source 
style

私はこれら2つを次のように比較していますvar result = ids1list.Intersect(ids2list).ToList();

その結果、ここで共通の値を取得しています ids1list の共通の値である ids2list のインデックスが必要です

このように私に提案した人もいます、

        ids1list.Select(s => new 
        {
            Id = s, Index = ids2list.IndexOf(s) 
        });

しかし、それはまだうまくいきませんでした.誰かが私に適切な解決策を教えてくれますか. ここにぶつかったからです。

4

1 に答える 1

6

インデックスが必要な場合は、2 番目のリストを選択する必要があります。

IEnumerable<int> indices = ids2list
    .Select((s, i) => new{ Str = s, Index = i })
    .Where(x => ids1list.Contains(x.Str))
    .Select(x => x.Index);

あなたに似た別のアプローチ:

indices = ids1list
    .Select(s => new{ Str = s, Index = ids2list.IndexOf(s) })
    .Where(x => x.Index >= 0)
    .Select(x=> x.Index);
于 2013-07-01T15:34:08.260 に答える