は、次のことを表現するための操作を設定します。LINQ Set操作は(場合を除き、INTERSECT)を動作していない
foreach (Group group in groups)
{
if (user.Groups.Contains(group))
{
assignedGroups.Add(group);
}
else
{
availableGroups.Add(group);
}
}
私はそれがこれを達成する2ライナーであるべきと思いました:集合演算が空に割り当てられたリストと満たされた利用可能なリストになりながら
var assigned = user.Groups.Intersect(groups);
var available = groups.Except(user.Groups);
私はforeachのアプローチこの例を実行するたびに、正しく私のリストを埋めます。 私は平等チェックに関して問題でなければならないと考えましたが、Contains()がうまく動作しているということは間違っています。 誰でも私の誤解をここで見られるのを助けることができますか?
IEnumerableをグループも情報がいくつかの助けであることを念のために、LINQクエリの結果です...
あなた自身のメソッドが「包含」されているか、提供されていますか? – leppie
が提供されていますが、ここでは個人的なフレーバーはありません –
交差点には違いがありません。除外事項については試していません。 –