using System; 
public class Util 

    public static void Main() 
    { 
        Util a = new Util(); 
        a.all(new int[]{1,2});
    } 
     
    public void all(int[] allArray)     {                                         
  int total=0; 
        foreach(int i in allArray) 
        { 
            total+=i; 
        } 
    } 
}

解决方案 »

  1.   

    all带的参数要是数组,params 的意思只是可以不用new来申明而已比如
    int[] myintarr = { 0 , 1, 2, 3 };
    Console.WriteLine(a.all(myintarr)); 
      

  2.   

    Console.WriteLine(a.all(1,2,3));
    // 是这一句导致all的返回值不能是void。
      

  3.   

    public class Util
    {
        public static void Main() 
        { 
            Util a = new Util(); 
            a.all(1,2,3); 
        } 
         
        public void all(params int[] allArray)  
        {                                   
            int total=0; 
            foreach(int i in allArray) 
            { 
                total+=i; 
            } 
           Console.WriteLine(total);   
        } 
    }
      

  4.   

    是不是因为 如果使用void 就是返回一个空值  而我之前的Console.WriteLine(total);应该返回一个特定值才行 
    所以Console.WriteLine(a.all(1,2,3)); 这样的情况下使用void就不行了  因为没有明确一个返回值。。谢谢楼上的几位,我查不懂自己明白了