Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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# C Arraylist删除成对的重复值_C#_Arraylist - Fatal编程技术网

C# C Arraylist删除成对的重复值

C# C Arraylist删除成对的重复值,c#,arraylist,C#,Arraylist,根据配对从Arraylist中删除副本: 如果您从以下内容开始: "Rock" "is" "WWE" "Superstar" "How" "is" "pet" "Rock" "is" "WWE" "Superstar" "How" "is" "pet" 那么输出应该是: "Rock" "is" "WWE" "Superstar" "How" "is" "pet" 只有一个副本删除其他匹配对副本。使用linq linq.Distinct.ToArray基本上,这将删除每一个字符串的每一秒出

根据配对从Arraylist中删除副本:

如果您从以下内容开始:

"Rock" "is" "WWE" "Superstar" "How" "is" "pet" "Rock" "is" "WWE" "Superstar" "How" "is" "pet" 
那么输出应该是:

"Rock" "is" "WWE" "Superstar" "How" "is" "pet" 

只有一个副本删除其他匹配对副本。

使用linq linq.Distinct.ToArray

基本上,这将删除每一个字符串的每一秒出现,我相信这就是您所需要的:

string[] input = new string[]
{
    "Rock", "is", "WWE", "Superstar", "Rock", "is", "WWE", "Superstar", "How", "is", "pet", "How", "is", "pet" 
};

input.GroupBy(x => x)
     .SelectMany(x => x.Skip(x.Count() / 2))
     .ToList().ForEach(Console.WriteLine);

这会选择成对的副本吗?因为我的arraylist应该只包含不同的成对值,并且应该删除副本…试试看!启动一个新项目只是为了测试这个建议的效果。学习很有趣。我认为这不是OP想要的;一个简单的不同将返回摇滚,是,WWE,超级明星,如何,宠物。注意,How和pet.Ya之间缺少一个is。但是我的要求是删除成对的重复项,比如说如果Rock is How are按顺序出现两次,那么只保留一个copyrarayList包含元素Rock,is,How,are,Rock,is,How,are。输出应仅选择一个配对副本:Rock,is,How,Are这是否可以是?Rock,is,wwe,wwe,superstar,Rock,is,wwe,wwe,wwe,superstar即使中间有重复的wwe,也应选择一对。选择应仅按配对进行。我尝试使用arraylist,比如:forint I=0;如果有三对或更多的配对,并且arraylist只有摇滚,我该怎么办。。请提供相同的完整表达式。@user1502952是否有一些非常具体的原因阻止您打开Visual Studio并亲自尝试此示例?还是你真的希望我帮你试试?试试看,明确你想改变什么。好的输出是摇滚是WWE超级明星如何宠物。要求是,无论arraylist中有多少个元素成对,都应该删除。假设两个元素匹配一个被删除,三个元素匹配另一个连续的三个元素,被删除。。。