C# 如何取消绑定System.Int32[*]数组
Firebird rdr.Read()返回,对于fb数组列,在我的例子System.Int32[*](基于非零的Int数组)中有一个对象,如何将其解装箱为正常的值? 连接器没有任何rdr.GetZeroBasedArray()或rdr.GetUsableArray()方法 Thx预先…C#不支持C# 如何取消绑定System.Int32[*]数组,c#,firebird,C#,Firebird,Firebird rdr.Read()返回,对于fb数组列,在我的例子System.Int32[*](基于非零的Int数组)中有一个对象,如何将其解装箱为正常的值? 连接器没有任何rdr.GetZeroBasedArray()或rdr.GetUsableArray()方法 Thx预先…C#不支持[*]-样式(非基于零的一维)数组。尝试强制转换到int[]将引发异常 您唯一的选择是强制转换到System.Array,然后使用以下方法对其进行修改: 而不是数组[i] 而不是数组[i]=x 当然,
[*]
-样式(非基于零的一维)数组。尝试强制转换到int[]
将引发异常
您唯一的选择是强制转换到System.Array
,然后使用以下方法对其进行修改:
- 而不是
数组[i]
- 而不是
数组[i]=x代码>
Array.GetLength
查找数组的长度,实例化相同长度的标准int[]
,然后使用复制数据。然后,您可以正常使用array[i]
,但请注意,您现在操作的是一个单独的副本
另外,正如已经指出的,unbox是一个错误的词。装箱/取消装箱仅用于值类型,但数组始终是引用类型(即使值类型的数组也是引用类型)。你要找的是演员阵容。数组
变量将包含对与对象
变量相同对象的引用。C#不支持[*]
-样式(非零基一维)数组。尝试强制转换到int[]
将引发异常
您唯一的选择是强制转换到System.Array
,然后使用以下方法对其进行修改:
- 而不是
数组[i]
- 而不是
数组[i]=x代码>
Array.GetLength
查找数组的长度,实例化相同长度的标准int[]
,然后使用复制数据。然后,您可以正常使用array[i]
,但请注意,您现在操作的是一个单独的副本
另外,正如已经指出的,unbox是一个错误的词。装箱/取消装箱仅用于值类型,但数组始终是引用类型(即使值类型的数组也是引用类型)。你要找的是演员阵容。
数组
变量将包含对与对象
变量相同对象的引用。数组是引用类型,因此不装箱。转换代码如下:数组是引用类型,因此不装箱。转换代码如下: