簡體   English   中英

為什么這個比較答案永遠不變?

[英]Why does this compare answer never change?

我正在編寫將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)。

在第一個消息框上放置一個斷點,以便您可以瀏覽並看到tax1developerData [6]是相同的,因為我不知道將返回什么developerData [6]。 String.Compare區分大小寫,因此也要進行檢查,並通過修剪每個字符串來確保沒有前導或尾隨空格:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM