C# 为什么我的比较失败了?
上面的代码工作得很好,但当我想限制它并将其更改为以下内容时:C# 为什么我的比较失败了?,c#,C#,上面的代码工作得很好,但当我想限制它并将其更改为以下内容时: if (dgv.Rows.Count.ToString() == "2") if(dgv.Rows.Count.ToString()不能在字符串上使用大于。请尝试: if (dgv.Rows.Count.ToString() <= "2") if(dgv.Rows.Count您正在比较字符串而不是所有数值 在第二个if语句中要比较的是:“2”我假设.Count返回一个数字,所以我希望代码是 if (dgv.Rows.C
if (dgv.Rows.Count.ToString() == "2")
if(dgv.Rows.Count.ToString()不能在字符串上使用大于。请尝试:
if (dgv.Rows.Count.ToString() <= "2")
if(dgv.Rows.Count您正在比较字符串而不是所有数值
在第二个if语句中要比较的是:“2”我假设.Count
返回一个数字,所以我希望代码是
if (dgv.Rows.Count <= 2)
if(dgv.Rows.Count==2)
如果(dgv.Rows.Count这个“2”是一个字符串。因此,它只是比较值是否相等。因此,第一个有效
对于第二个条件,它不知道如何进行比较。您必须将此“2”转换为Int,然后进行比较。似乎您误解了问题。在比较值时,您根本不应该执行对字符串的比较:您比较的是字符串
s,而不是实际数字(Int
)。此外,您不能执行您的问题与WPF或Datagrid无关,只是简单的c#。我对其进行了相应的编辑。当您实际尝试将值解释为整数时,将其作为字符串进行比较通常不会产生您所想的结果。查找“自然排序顺序”以了解原因。感谢Roel,我感谢您的修订
if (dgv.Rows.Count <= 2)
if (dgv.Rows.Count == 2)
if (dgv.Rows.Count <= 2)
if (dgv.Rows.Count <= 2)