gpt4 book ai didi

c# - 为什么 0 不拆箱为整数?

转载 作者:行者123 更新时间:2023-11-30 22:13:37 24 4
gpt4 key购买 nike

我在这段代码中遇到“无效转换”异常,它位于网格的鼠标按下位置:

// Get the index of the row and column the mouse is over.
rowIndexFromMouseDown = grdSale.HitTest(e.X, e.Y).RowIndex;
colIndexFromMouseDown = grdSale.HitTest(e.X, e.Y).ColumnIndex;
// Drag only if we're not over header, are over count, and there are some tickets
if ((rowIndexFromMouseDown != -1)
&& (colIndexFromMouseDown == 2)
&& ((int)grdSale.Rows[rowIndexFromMouseDown].Cells["TypeCount"].Value > 0))

从即时窗口:

?rowIndexFromMouseDown
2
?colIndexFromMouseDown
2
?grdSale.Rows[rowIndexFromMouseDown].Cells["TypeCount"].Value
0
?(int)grdSale.Rows[rowIndexFromMouseDown].Cells["TypeCount"].Value
Cannot unbox '(grdSale.Rows[rowIndexFromMouseDown].Cells["TypeCount"]).Value' as a 'int'

网格单元格不显示任何内容,但网格是从一个 XML 文件填充的,该文件的架构将值定义为值为零的整数。可以看出,这就是单元格的值(value)。那么,为什么不能将它拆箱为一个整数以便我对其求值呢?

最佳答案

该值是除 int 之外的某种类型,例如doublestring。即使它是隐式可转换类型,例如short,不能直接拆箱为int,除非它的类型是int。您可以使用 Convert.ToInt32(value)转换值。

关于c# - 为什么 0 不拆箱为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18924702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com