0

リストのリスト内のいずれかのリストに別のリスト内のすべての要素が含まれているかどうかをどのように見つけますか?list list .contains(list)のようなもので、list(list)は、、listは、、stanjaDKAすべてtmpzaNormalanPrijelazのリストメンバーはint型ですか?私はこれを試しましたがstanjaDKA、最後には多くの状態になります。

int indeks=stanjaDKA.FindIndex(x=>x.Equals(tmpzaNormalanPrijelaz));
if (indeks==-1 && tmpzaNormalanPrijelaz.Count>0)
{
    stanjaDKA.Add(tmpzaNormalanPrijelaz);
}
4

2 に答える 2

1

X のリストに X があるかどうかを調べる方法

LINQ を使用しますAny

bool anyXInListOfX = myListOfX(x => someConditionOnX);

リストには別のリストのすべての要素が含まれます

{1}要素の重複を気にしない場合 (つまり、すべての要素が含まれていることに満足している場合{1, 1})、LINQ を使用しExceptて何も残っていないことを確認できます。

bool firstListContainsAllElementsInSecondList =
    !mySecondList.Except(myFirstList).Any();

ただし、「任意のリストにすべての要素が含まれる」は「すべてのリストにすべての要素が含まれない」と同等であり、上記のdon'tキャンセルはキャンセルされる!ため、あなたの場合は次のようにします

if (stanjaDKA.All(l => tmpzaNormalanPrijelaz.Except(l).Any()))
{
    stanjaDKA.Add(tmpzaNormalanPrijelaz);
}

これは、「 のすべてのリストのそれぞれに少なくとも 1 つの要素が欠落している場合は、 に追加すると読みます。stanjaDKAtmpzaNormalanPrijelaztmpzaNormalanPrijelazstanjaDKA

于 2012-11-15T11:34:17.837 に答える