C# 传入数组参数

来源:百度知道 编辑:UC知道 时间:2024/05/16 15:38:32
我定义一个函数
void temp(int n,int[]a)假设这个函数是返回数组a中第n个数字
我申明一个数组int []test=new int[5];
调用函数temp(2,test)则返回的是test中第二个数值
现在我想把test数组的第二个数值作为数组的第一个数值传入
即调用temp(2,***)返回的是temp数组的第三个数值
用C语言可以temp(2,&test[1])
就是怎么翻译成C#语言

C#在安全模式下不允许这样,你可以不改变temp的声明形式
在temp函数体里面第一句写上n++
注意同时判断n++是否超过索引,可以try一下来容错

C#不使用unsafe不支持指针。你的情况大可不必这样,因为n已经是表示偏移的参数了,没必要再用int[] a偏移一次。
一个优秀的程序就是尽量少用hack!

为什么要搞得那么复杂, 不用地址,指针什么的不行吗?

int temp(int n,int[] a)
{
return a[n];
}

不就好了?