请问各位大侠C#中有类似的用法吗?public  class  Y    
  {  
  public  static  void  main  (String[]args)  
  {  
  int  []  a  =  new  int  [1];  
  modify(a);  
  System.out.println(a[0]);  
    
  String  s=new  String("Hello");  
  modify(s);  
  System.out.println(s);  
    
  int  b=0;  
  modify(b);  
  System.out.println(b);  
  }  
  public  static  void  modify  (int[]  a)  
  {  
  a[0]  ++;    
  }  
  public  static  void  modify(String  s)  
  {  
  s+="  world!";  
  }  
  public  static  void  modify(int  b)  
  {  
  b++;  
  }  
  }  
    
  结果为:  
  1  
  Hello  
  0  

解决方案 »

  1.   

    哦,不好意思,明白了。。
    重载是知道了。。
    但是原本得意思是问C#中是不是有newmodify这样的用法。。不是自己写modify()函数去重载不知道我表达清楚了没有
      

  2.   

    new只能应用于CLASS或者Structure,楼主重载的方法中参数调用应该为引用型的(ref),否则你在函数体内修改了参数值是传递不到外部调用者那里的。
      

  3.   

    可以直接这样做的,本来就重载了 public static void modify(int[] a)
            {
                a[0]++;
            }
            public static void modify(String s)
            {
                s += "  world!";
            }
            public static void modify(int b)
            {
                b++;
            }  
    void Main()
    {
     int[] a = new int[1];
                modify(a);
                MessageBox.Show(a[0].ToString());//1            String s = "Hello";
                modify(s);
                MessageBox.Show(s);//Hello            int b = 0;
                modify(b);
                MessageBox.Show(b.ToString());//0
    }