C#中ref和out的区别浅析

2019-12-26 11:11:41王冬梅

                    min = arry[i];
                }
            }
            avg = sum / arry.Length;
            return sum;
        }

 

然后在控制台中试着调用该方法:

 

复制代码
static void Main(string[] args)
        {
            int[] arr = { 1,2,3,4,5,6,7,8,9};
            float avg;
            int max;
            int min;
            int sum = GetIntResult(arr, ref avg, ref max, ref min);
        }

 

此时编译器就会提示画红线,错误:使用了未赋值的avg,max,min

 

复制代码
static void Main(string[] args)
        {
            int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            float avg = 0;
            int max = 0;
            int min = 0;
            int sum = GetIntResult(arr, ref avg, ref max, ref min);
            Console.WriteLine("和:{0}t平均值:{1}t最大值:{2}t最小值:{3}", sum, avg, max, min);
            Console.Read();
        }

 

运行结果:

C#中ref和out的区别浅析