linq any演算子の理解に問題があります。実行すると、それは私が期待してい何である次の出力linq等しくない演算子(!=)
b
c
を生成し(VS 2010および.NET 4.0を使用して)次のコードスニペット
List<string> sample = new List<string> { "a", "b", "c", "d" };
List<string> secondSample = new List<string> { "b", "c" };
foreach (string s in sample)
{
if(secondSample.Any(data=> data.ToString() == s))
Console.WriteLine(s);
}
を考えることができます。私は、等価演算子(==
)に等しくない(!=
)を変更した場合しかし、私は私が
if(!(secondSample.Any(data=> data.ToString() == s)))
にあれば条件を変更した場合、この
a
b
c
d
が、これは
a
d
すべきではない取得します
私は入手する
a
d
私の質問は間違った方法でAny演算子を解釈するのですか?あなたが変更されたときにsecondSample
からの値は、サンプル
ダウン投票者はコメントを残して説明することを検討する。 –