Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当差异集中有多个项时,除此之外仅返回1项_C#_List_Except - Fatal编程技术网

C# 当差异集中有多个项时,除此之外仅返回1项

C# 当差异集中有多个项时,除此之外仅返回1项,c#,list,except,C#,List,Except,在C#中,尝试在两个字符串列表之间执行“除”。有一些差异,见下图。在idx 2和19中,请注意,这些是不同的。然而,List.Except方法只返回最后一个差异 我这样称呼它:varx=expList.Except(actList) 返回结果中的1项:“站点” 我希望有两个项目:4001,“现场” 有人知道这是怎么回事吗 谢谢 不是“对称差”(请参阅),而是“设置差”: 第一个集合中未出现在第二个集合中的成员 因此,如果第一个列表是{4002},第二个{4001}则的结果将不包含4001 您可能

在C#中,尝试在两个字符串列表之间执行“除”。有一些差异,见下图。在idx 2和19中,请注意,这些是不同的。然而,List.Except方法只返回最后一个差异

我这样称呼它:
varx=expList.Except(actList)

返回结果中的1项:“站点”

我希望有两个项目:4001,“现场”

有人知道这是怎么回事吗

谢谢

不是“对称差”(请参阅),而是“设置差”:

第一个集合中未出现在第二个集合中的成员

因此,如果第一个列表是
{4002}
,第二个
{4001}
的结果将不包含
4001

您可能正在寻找:

不是“对称差”(请参阅),而是“设置差”:

第一个集合中未出现在第二个集合中的成员

因此,如果第一个列表是
{4002}
,第二个
{4001}
的结果将不包含
4001


您可能正在寻找:

正如Alexei Levenkov提到的,
可枚举。除了
不是“对称差异”

考虑:

new HashSet<string>(expList).SymmetricExceptWith(actList);
newhashset(expList.SymmetricExceptWith(actList);

正如阿列克谢·列文科夫(Alexei Levenkov)所提到的,
是可枚举的。除了
不是“对称差异”

考虑:

new HashSet<string>(expList).SymmetricExceptWith(actList);
newhashset(expList.SymmetricExceptWith(actList);

您没有显示所有项目(请注意,索引从9->19跳转)-“4001”也必须存在于第一个列表中。索引10到18发生了什么事?请查看
HashSet.SymmetricExceptWith()
。完美!这就是我需要的。谢谢PeteGO。您没有显示所有项目(请注意,索引从9->19跳转)-“4001”也必须存在于第一个列表中。索引10到18发生了什么事?请查看
HashSet.SymmetricExceptWith()
。完美!这就是我需要的。谢谢你,彼得。啊,那是我的错。我认为这是一个对称的差异。我想没有Symm-Diff方法可用?啊,那是我的错误。我认为这是一个对称的差异。我想没有Symm-Diff方法可用?