将数组值相互比较

时间:2014-05-09 17:58:05

标签: c#

我想比较两个整数数组,然后打印出equals out。我尝试了Intersect方法:

var checkingDuplicates = boughttickets.Intersect(winningtickets).Any();

然后使用if语句:

if (checkingDuplicates == false)
{
    Console.WriteLine("Sorry, You didn't win anything");
}
else
{
    Console.WriteLine(checkingDuplicates);
}

但是,输出始终使用此if - 语句返回true。

如果我有一些拼写错误,我真的很抱歉,我的母语不是英语。

2 个答案:

答案 0 :(得分:2)

Any接受一系列项目并返回一个布尔值,指示该序列中是否有任何项目。

您不想知道如果该序列中有任何项目,您只想知道该序列中的所有项目是什么。这意味着不要调用Any,你将拥有这两个数组交集的序列。

答案 1 :(得分:0)

首先我会说阅读文档。从上面的注释中,你不能在定义.tostring实现的IEnumerable上调用.toString()。 试试这个

var checkingDuplicates = boughttickets.Intersect(winningtickets);

if (!checkingDuplicates.Any())
 {
   Console.WriteLine("Sorry, You didn't win anything");
 }
 else
 {
   foreach(TICKET checkingDuplicate in checkingDuplicates)
   {
    Console.WriteLine("FETCH AND PRINT YOUR TICKET INFORMATION FROM TICKET OBJECT/CLASS");
   }
 }

在上面的foreach循环中,TICKET是您在上面的IEnumerable列表中使用的对象类型。