为什么这个比较答案永远不变?

时间:2019-03-31 19:38:41

标签: c#

我正在编写将CSV读入数组的代码。 CSV中的第七项是TenNinetyNineW2,因此我比较了array[6]TenNinetyNine,它总是给我1表示它们匹配。我用array[6]拉出一个消息框,它表明它们不匹配。

我已经尝试过:if (array[6] == "TenNinetyNine")并使用当前正在运行的string.Compare

我弄混了最初是1099或W2的CSV,只是为了验证它们都是作为字符串读入的。我所有的测试都表明,每一行我都为array[6]看到了一个新值,但在比较它们时似乎保留了第一个结果。

string data = sr.ReadLine();
while (data != null)
{
    string[] developerData = data.Split(',');
    string tax1 = "TenNinetyNine";
    int taxCompared = string.Compare(tax1, developerData[6]);

    MessageBox.Show(developerData[6]); //Changes each iteration
    MessageBox.Show(taxCompared.ToString()); //Always 1
}

我希望MessageBox.Show(taxCompared.ToString());TenNinetyNine产生1,为W2产生-1(或0)。

1 个答案:

答案 0 :(得分:2)

在第一个消息框上放置一个断点,以便您可以浏览并查看 tax1 developerData [6] 是相同的,因为我不知道什么是developerData [6]正在返回。 String.Compare区分大小写,因此也要进行检查,并通过修剪每个字符串来确保没有前导或尾随空格:

int taxCompared = string.Compare(tax1.Trim(), developerData[6].Trim();