【发布时间】:2012-08-21 06:17:05
【问题描述】:
我有两个数组,我需要显示 array1 有哪些 array2 没有,反之亦然。
string[] a = { "hello", "momo" }
string[] b = { "hello"}
输出:
momo
我正在使用 .Except 并尝试在消息框中显示输出,但是当我执行我的代码时,输出是这样的:
System.Linq.Enumerable+<ExceptIterator>d_99'1[System.Char]
我的代码:
//Array holding answers to test
string[] testAnswer = new string[20] { "B", "D", "A", "A", "C", "A", "B", "A", "C", "D", "B", "C", "D", "A", "D", "C", "C", "B", "D", "A" };
string a = Convert.ToString(testAnswer);
//Reads text file line by line. Stores in array, each line of the file is an element in the array
string[] inputAnswer = System.IO.File.ReadAllLines(@"C:\Users\Momo\Desktop\UNI\Software tech\test.txt");
string b = Convert.ToString(inputAnswer);
//Local variables
int index = 0;
Boolean arraysequal = true;
if (testAnswer.Length != inputAnswer.Length)
{
arraysequal = false;
}
while (arraysequal && index < testAnswer.Length)
{
if (testAnswer[index] != inputAnswer[index])
{
arraysequal = false;
}
index++;
}
MessageBox.Show("" + a.Except(b));
【问题讨论】:
-
您遇到了仅返回类型全名的
object.ToString()实现。你想从Except得到什么?许多人惊讶地发现它是基于集合的 - 所以像 order 和 duplicates 这样的东西对输出没有影响。