【发布时间】:2016-06-19 23:37:56
【问题描述】:
我想比较两个 char 数组,并且我希望(如果它们不相等)在输出上显示不同的 char。例如,在我下面的代码中,不同的字符是“y”。所以在输出上,我想写成:“不同的字符是 y,它在数组 ay 中但不在 ar 中”。我正在使用 C#,这是我编写的代码,CompareTo 方法出现错误。谁能帮我 ?提前致谢。 注意,我还是个初学者。
char[] ar = { 'a', 'h', 'm', 'a', 'd' };
char[] ay = { 'a', 'y', 'm', 'a', 'd' };
if (ar.SequenceEqual(ay))
{
Console.WriteLine("Success");
}
else
{
Console.WriteLine("failure");
char diff = ar.CompareTo((Object)ay));
Console.Write(diff);
}
【问题讨论】:
-
你遇到了什么错误?
-
我不确定你的要求是什么,但你可以用一些 for 或 for each 循环来做到这一点。对于每个差异,将不同的字符存储在单独的数组中。循环完成后,遍历包含差异的数组并输出结果
-
您可以像这样测试相等: if(string.Join("", ar) == string.Join("",ay)), 要获得所有差异,您需要使用 Left Outer加入,它给出了第二个列表中不在第一个列表中的项目。请参阅:code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b
-
Sami,这里是:“char[]”不包含“CompareTo”的定义,并且找不到接受“char[]”类型的第一个参数的扩展方法“CompareTo”(您是否缺少 using 指令或程序集引用?)"