int.TryParse Datagridview文本框,该文本框在为空时发送空值

时间:2019-03-07 08:51:16

标签: c# visual-studio winforms datagridview tryparse

我想解析一个值。但是,GridView文本框为空时将发送空值。

int qty = 0;
int.TryParse(dgvInvoiceItems[dgvInvoiceItems.Columns["Quantity"].Index, 
e.RowIndex].Value.ToString(), out qty);

dgvInvoiceItems [dgvInvoiceItems.Columns [“ Quantity”]。Index,     e.RowIndex] .Value为空。当我尝试将其转换为字符串时,它将引发异常。 如果我不进行转换,则将其作为TryParse不允许的对象。

2 个答案:

答案 0 :(得分:0)

如果对象为空,则可以使用.???使用默认值:

int.TryParse(dgvInvoiceItems[dgvInvoiceItems.Columns["Quantity"].Index, e.RowIndex].Value?.ToString() ?? "0", out int qty);

int.TryParse((dgvInvoiceItems[dgvInvoiceItems.Columns["Quantity"].Index, e.RowIndex].Value ?? 0).ToString(), out int qty);

答案 1 :(得分:0)

您可以使用三元运算符检查单元格是否包含null,如果null则传递空字符串!

int.TryParse(dgvInvoiceItems[dgvInvoiceItems.Columns["Quantity"].Index, e.RowIndex].Value != null  ?
                                dgvInvoiceItems[dgvInvoiceItems.Columns["Quantity"].Index, e.RowIndex].Value.ToString() : "", out qty);