第一个问题没看明白。
项目属性有选择编译unsafe代码选项。

解决方案 »

  1.   

    好象就是加out参数吧。。如:
    public void myproc(out aa){}
    (有同事和我讲过这个问题¨©«)
      

  2.   

    1:out参数
    public void myproc(out int aa){}调用:myproc(out var)2:ref参数
    public void myproc(ref int aa){}调用:
    var=new ...
    myproc(ref var)不同之处在于var为ref类型时调用前需初始化
      

  3.   

    声明函数的时候用public void proc(out int aa)
    实际调用的时候用proc(out x),x是声明为int的变量
    好像还有另外一种方法:装箱(boxing)成object,就可以把值形变量转换成引用型,不过没测试过:)
      

  4.   

    我用private void proc(out int aa)
    调用 
    int aa;
    aa = 0;
    proc(out aa);为什么出错, 好像是不认识out关键字
      

  5.   

    out参数的使用:
    using System;
    class Out
    {
    static void Main()
    {
    string dir,name;
    SplitPath("C:\\Windows\\System\\Hello.txt",out dir,out name);
    Console.WriteLine(dir);
    Console.WriteLine(name);
    }
    static void SplitPath(string path,out string dir,out string name)
    {
    int i=path.Length;
    while(i>0)
    {
    char ch=path[i-1];
    if ((ch=='\\') || (ch=='/') || (ch==':')) break;
    i--;
    }
    dir=path.Substring(0,i);
    name=path.Substring(i);
    }
    }
      

  6.   

    ref参数的使用:
    using System;
    public class Ref
    {
    public static void Main()
    {
    int i=1,j=2;
    Swap(ref i,ref j);
    Console.WriteLine("i={0},j={1}",i,j);
    }
    static void Swap(ref int x,ref int y)
    {
    int temp=x;
    x=y;
    y=temp;
    }
    }