比如如下c++代码,如何转成C#的同等代码。
fun1(void)
{
char buf[3]={1,2,3};fun2((int)buf);
}fun2(int hnd)
{
......
}

解决方案 »

  1.   

    fun1(void)
    {
    int buf[3]={1,2,3};fun2(buf);
    }func2(int[] hnd)
    {
    }
      

  2.   

    1. 如果是传递给fun2一个数组的地址,那么你上面代码中的fun2的原型是否应是fun2(int* hnd)?
    2. 在C#里,由于强类型检查,char数组与int数组没法象C++里那么简便地使用,char[]与int[]是完全不同的参数类型。
    3. 抛开C#的Unsafe编程,在C#里,你可以直接定义fun2的参数为int[] hnd对应一个int数组。
      

  3.   

    C#是type safe的,char[]不能转成int[],函数指针类型也不能随便转