C# 操作员'&燃气轮机=';无法应用于类型为';对象';和';int';在datagridview单元格值中
我希望确保我的datagridview中的一个单元格的值大于0,以便执行某些操作。但它给了我我提到的错误C# 操作员'&燃气轮机=';无法应用于类型为';对象';和';int';在datagridview单元格值中,c#,datagridview,C#,Datagridview,我希望确保我的datagridview中的一个单元格的值大于0,以便执行某些操作。但它给了我我提到的错误 if (dataGridView1.CurrentRow.Cells["totalQTYColumnDataGridViewTextBoxColumn"].Value >= 0) { do something } 我不知道如何将其转换为Int当我这样做时,它表示它是错误的: if (dataGridView1.CurrentRow.Convert.ToInt32(Cells["t
if (dataGridView1.CurrentRow.Cells["totalQTYColumnDataGridViewTextBoxColumn"].Value >= 0) {
do something
}
我不知道如何将其转换为Int当我这样做时,它表示它是错误的:
if (dataGridView1.CurrentRow.Convert.ToInt32(Cells["totalQTYColumnDataGridViewTextBoxColumn"].Value) >= 0) {
do something
}
首先将值解析为整数,然后进行比较。无法将
系统.Object
与整数文本进行比较
var cell = dataGridView1.CurrentRow.Cells["totalQTYColumnDataGridViewTextBoxColumn"];
int totalQTY;
if(int.TryParse(cell.Value?.ToString(), out totalQTY)
&& totalQTY >= 0)
{
}
注意:解析成功时返回true,否则返回false。解析成功时,解析后的值将复制到
totalQTY
首先将值解析为整数,然后进行比较。无法将系统.Object
与整数文本进行比较
var cell = dataGridView1.CurrentRow.Cells["totalQTYColumnDataGridViewTextBoxColumn"];
int totalQTY;
if(int.TryParse(cell.Value?.ToString(), out totalQTY)
&& totalQTY >= 0)
{
}
注意:解析成功时返回true,否则返回false。解析成功时,解析后的值将复制到
totalQTY
您需要将对象
转换为int
,可能存在重复项。否则,就不可能进行比较。要比较的对象类型不同,因此无法进行比较。可能的重复对象需要将对象
转换为int
。否则,就不可能进行比较。要比较的对象类型不同,因此无法进行比较。@absolute455如果值可以是null
,我建议.value?.ToString()
@slai什么?你是说我加一个问号?它做什么?@absolute455这叫做条件运算符。如果Value
为null
并且您在其上调用ToString
,您将得到NullReferenceException
,并且您的程序将意外停止工作-除非相应的代码包装在try/catch
块中。Null条件运算符会将您从中解救出来,并且只有当Value
不为Null时才会调用ToString
。有关更多信息,请查看@absolute455。如果值可以是null
,我建议.value?.ToString()
@slai什么?你是说我加一个问号?它做什么?@absolute455这叫做条件运算符。如果Value
为null
并且您在其上调用ToString
,您将得到NullReferenceException
,并且您的程序将意外停止工作-除非相应的代码包装在try/catch
块中。Null条件运算符会将您从中解救出来,并且只有当Value
不为Null时才会调用ToString
。欲了解更多信息,请查看