我需要java数组来csharp

我需要java数组来csharp,java,c#,arrays,Java,C#,Arrays,我想在c#上编写此代码(java),但收到此错误消息 无法将类型为“System.SByte[,]”的对象强制转换为类型为“System.SByte[][]” java代码是: byte[][] bArr2 = (byte[][]) Array.newInstance(byte.class, new int[]{2, 8}); 我的csharp代码是 sbyte[][] bArr2 = (sbyte[][])Array.CreateInstance(typeof(sbyte), new in

我想在c#上编写此代码(java),但收到此错误消息

无法将类型为“System.SByte[,]”的对象强制转换为类型为“System.SByte[][]”

java代码是:

byte[][] bArr2 = (byte[][]) Array.newInstance(byte.class, new int[]{2, 8});

我的csharp代码是

sbyte[][] bArr2 = (sbyte[][])Array.CreateInstance(typeof(sbyte), new int[] { 2, 8 });


谢谢

您已经知道尺寸了。因此,您应该正常地声明数组

爪哇:

C#:


一般来说,在不同语言之间进行移植时,我建议保持标准语言文档的打开状态,这样您就可以了解类似这样的基本语法(
sbyte[,]
)。

您已经知道了维度。因此,您应该正常地声明数组

爪哇:

C#:


一般来说,在不同语言之间进行移植时,我建议保持标准语言文档的打开状态,这样您就可以了解类似这样的基本语法(
sbyte[,]
)。

请参见'byte[]bArr3=new byte[8];bArr2[1]=bArr3`如果使用[,]数组,如何将bArr3转换为bArr2[1]?我不明白,请看答案。如果您想处理像这样的单个子数组,您需要创建一个锯齿状数组。但是做了这样的更改,您将不再使用强类型的二维数组,也就是说,您将失去一些类型安全性。您确定需要
bArr3
吗?相反,您应该能够直接使用
bArr2
的元素。Java没有此功能。`byte[]3=新字节[8];bArr2[1]=bArr3`如果使用[,]数组,如何将bArr3转换为bArr2[1]?我不明白,请看答案。如果您想处理像这样的单个子数组,您需要创建一个锯齿状数组。但是做了这样的更改,您将不再使用强类型的二维数组,也就是说,您将失去一些类型安全性。您确定需要
bArr3
吗?相反,您应该能够直接使用
bArr2
的元素。Java没有这个特性。
byte[][] bArr2 = new byte[2][8];
sbyte[,] bArr2 = new sbyte[2,8];