当前位置:编程学习 > C#/ASP.NET >>

c#如何能申请一段连续空间地址的数组

c中: 
int a[10]的地址是连续的 
c#中 
int[] a的地址是不连续的 

请教怎么在C#中申请连续空间地址的数组,因为我用C++写了个COM组件,其中IMath接口有方法(例子) 
Add([in]int size,[in,size_is(size)]int a[],[out]int *ResultValue) 

  int nResult = 0; 
  for(int i=0;i <size;i++) 
  { 
      nResult += a[i]; 
  } 
  
  *ResultValue = nResult; 


在c#中调用如: 
int[] value = new int[10]; 
for(int i=0;i <10;i++) 

    value[i]=i; 


IMath.Add(10,ref value[0]); 
问题: 
在COM中调试:a[0]读取是正确的,a[1]-a[9]是不对的,原因是因为在C#中申请的数组int[] value地址是不连续的。 
请问题怎么解决这个问题?  --------------------编程问答-------------------- 帮顶,有难度
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,