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
作为一个字符串进行比较时,如果实际尝试将值解释为整数通常不会产生您的想法。查找“自然排序”来理解为什么。 –
谢谢罗尔,我很感谢你的修改 –