if (dgv.Rows.Count.ToString() == "2")
上面的代碼可以正常使用,但是當我想給它限制,並將其更改爲以下內容:爲什麼我的比較失敗?
if (dgv.Rows.Count.ToString() <= "2")
這是行不通的。我究竟做錯了什麼?
if (dgv.Rows.Count.ToString() == "2")
上面的代碼可以正常使用,但是當我想給它限制,並將其更改爲以下內容:爲什麼我的比較失敗?
if (dgv.Rows.Count.ToString() <= "2")
這是行不通的。我究竟做錯了什麼?
你不能使用大於字符串。嘗試:
if (dgv.Rows.Count <= 2)
您比較字符串,而不是acctuall數值
if語句是這樣的,你想在你的第二個比較是:「2」 < =「2」
你應該做的是:2 < = 2
這樣的:
if (dgv.Rows.Count <= 2)
我認爲.Count
返回一個數字,所以我期望的代碼是
if (dgv.Rows.Count == 2)
if (dgv.Rows.Count <= 2)
這個「2」是一個字符串。所以,它只是比較價值是否相等。因此,第一個工作。
對於第二種情況,它不知道如何進行比較。您必須將此「2」轉換爲Int,然後進行比較。
看來你是誤解了這個問題。在比較值時,您根本不應該執行Tostring
:您正在比較string
s,而不是實際數字(int
)。另外,您不能對字符串執行<=
操作。
更新您的代碼以
if (dgv.Rows.Count <= 2)
,所有應該不錯。
你的問題與WPF或Datagrid無關,只是普通的c#。我相應地編輯了它。 – RoelF
作爲一個字符串進行比較時,如果實際嘗試將值解釋爲整數通常不會產生您的想法。查找「自然排序」來理解爲什麼。 –
謝謝羅爾,我很感謝你的修改 –