C# 请问结构体里定长二维数组怎么定义?
在结构体里,定长一维数组是这样定义的:[MarshalAsAttribute(UnmanagedType.ByValArray,SizeConst=100)]public...
在结构体里,定长一维数组是这样定义的:
[MarshalAsAttribute(UnmanagedType.ByValArray,SizeConst = 100)]
public int [] Len;
那定长二维数组public int [ , ] Len = new int [100 , 100] 怎么定义?
请高手支小招!谢谢,小弟没有分了! 展开
[MarshalAsAttribute(UnmanagedType.ByValArray,SizeConst = 100)]
public int [] Len;
那定长二维数组public int [ , ] Len = new int [100 , 100] 怎么定义?
请高手支小招!谢谢,小弟没有分了! 展开
2个回答
展开全部
同上,其实二维就是一维。
[MarshalAsAttribute(UnmanagedType.ByValArray,SizeConst = 10000)]
public int [,] Len;
[MarshalAsAttribute(UnmanagedType.ByValArray,SizeConst = 10000)]
public int [,] Len;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体里面不能初始化,可以声明变量
struct A
{
public string [,] myArray ;//默认private
}
A a=new A();
a.myArray=new string[100,20];
a.myArray[0,0]="1";
struct A
{
public string [,] myArray ;//默认private
}
A a=new A();
a.myArray=new string[100,20];
a.myArray[0,0]="1";
追问
可以的,因为定长的一维数组我都是实现了,所以是可以的,就是我那样写!
我之所以要这样写,是因为结构体长度是固定的,如果没有固定,则无法进行内存拷贝,
因为需要将数据发送到别人用C语言写的程序上,同时结构体里的成员不一个二个的,而是几十个,还有更多的,所以必须整体拷贝,直接还原数据!
我所说的这些都已经实现了,不过都是一维的,现在想改二维,但不知道怎么写,所以请高手指点一下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询