改错,
 private void btnRun_Click(object sender, EventArgs e)
        {
            int a = 20, b = 30, c = 45;
            int sum = 0;
            double average = 0;            GetSumAndAverage(a, b, c, sum, average);            Output(String.Format("和是:{0}, 平均值是:{1}",sum,average));
        }        private static void GetSumAndAverage(int a, int b, int c, int sum, double aver)
        {
            sum = a + b + c;
            aver = (a + b + c) / 3.0;
    }

解决方案 »

  1.   

    GetSumAndAverage(a, b, c, out sum, out average);private static void GetSumAndAverage(int a, int b, int c, out int sum, out double aver)
      

  2.   

    大哥  GetSumAndAverage()方法为void类型;你在Output中的两个变量sum和average的值并不是你想的那样为GetSumAndAverage()中返回的变量sum和aver的值
      

  3.   


    private static void GetSumAndAverage(int a, int b, int c, out int sum, out double aver)
    {
    //代码
    }
      

  4.   


    GetSumAndAverage(a, b, c, ref sum, ref average);private static void GetSumAndAverage(int a, int b, int c, ref int sum, ref double aver)
      

  5.   

    上面使用ref与out其实都可以,只是两者有一点区别,得注意一下:两者不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。 
    更多内容请查阅msdn上关于【方法参数】的说明:http://msdn.microsoft.com/zh-cn/library/8f1hz171(v=vs.80).aspx
      

  6.   

    out和ref是可以在运行完方法后改变变量的值的......一楼正解 回答完毕.....具体的说明7楼已经给出.....我是纯来蹭分的 嘻嘻
      

  7.   

    需要将值传递回去,用ref或out 都可以 下面是ref和out的区别可以供你参考http://blog.csdn.net/xiaoning8201/article/details/6893154
      

  8.   


    private static void GetSumAndAverage(int a, int b, int c, ref int sum, ref double aver)
    {
         sum = a + b + c;
         aver = (a + b + c) / 3.0;
    }
      

  9.   

    private static void GetSumAndAverage(int a, int b, int c, ref int sum, ref double aver)
    {
         sum = a + b + c;
         aver = (a + b + c) / 3.0;

    ref  使值类型按引用传递
      

  10.   

    用out跟ref不是看之前有没有赋值么