函数二:
messageBox.show(fun2(ref aa))

解决方案 »

  1.   

    >>1.function(optional string str)
    {
    ...
    }
    当时在没有重载的情况下,VB6才引入了optional. 在C#中,已经不需要了.当然就不支持了. 你可以用重载(overloading)来实现这个功能. 比如:
    public Class A
    {
       void foo()
       { };
       void foo(string str)
       { };
    }2.引用应该这样使用,messageBox.show(fun2(aa));是使用了fun2(aa)的返回值,而 fun2(ref string str)根本就没有返回值,(编译就不过-:))void fun1()
    {
       string aa;
       aa = "";
       fun2(ref aa);
       messageBox.show(aa);
    }
    void fun2(ref string str)
    {
     str = "Changed";
    }
      

  2.   

    或者你可以像main方法一样:public void function(string[] args)
    {}