可能重复:
除了与Distinct有类似的效果?
我有两个List<String>喜欢
lstOne = { "A", "B", "C" ,"C" ,"C" };
lstTwo = { "A" };
lstResult = lstOne.Except(lstTwo).ToList();
Run Code Online (Sandbox Code Playgroud)
现在预期的产出是
lstReult = { "B","C","C","C" };
Run Code Online (Sandbox Code Playgroud)
但是actula结果就像
lstResult = { "B","C" };
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我已经习惯了Except,为什么它也适用Distinct?
Mar*_*ell 11
它被记录为返回"包含两个序列的元素的集合差异的序列".集合没有重复项.
这可能是一个微妙的点,但它按照规范运作.
如果你想要重复:
var lstOne = new[] { "A", "B", "C" ,"C" ,"C" };
var except = new HashSet<string> { "A" };
var lstResult = lstOne.Where(x => !except.Contains(x)).ToList();
// ^^ "B", "C", "C", "C"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
215 次 |
| 最近记录: |