开发者

C# 输出参数out问题

开发者 https://www.devze.com 2023-02-26 10:27 出处:网络 作者: TheWindofFate
目录C# 输出参数out什么是输出参数输出参数的特点out参数的使用C#中out参数、ref参数与值参数用法out参数修饰符ref参数修饰符总结C# 输出参数out
目录
  • C# 输出参数out
    • 什么是输出参数
    • 输出参数的特点
    • out参数的使用
  • C#中out参数、ref参数与值参数用法
    • out参数修饰符
    • ref参数修饰符
  • 总结

    C# 输出参数out

    什么是输出参数

    方法声明时,使用out修饰符声明的形参,成为输出参数。

    输出参数的特点

    1、输出参数不创建新的储存位置。

    2、输出参数表示的储存位置就是实参表示的储存位置。

    3、javascript传递给输出参数的实参在方法调用前不需要强制初始化,在方法内部使用该形参时,需要强制赋值一次。

    out参数的使用

    使用out参数,可以使方法返回多个返回值。

    static void Main(string[] args)
    {
       int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
       int max;
       int min;
       int sum;
       double avg;
       int[] arr = GetMaxMinSumAvg(numbers, out max, out min, out sum, out avg);
       Console.Wri开发者_Go教程teLine(max);
       Console.WriteLine(min);
       Console.WriteLine(sum);
       Console.WriteLine(avg);
       Console.WriteLine(arr.Length);
       Console.ReadKey();
    }
     
    public static int[] GetMaxMinSumAvg(int[] nums, out int max, out int min, out int sum, out double avg)
    {
       int[http://www.devze.com] res = new int[4];
       max = nums.Max();
       min = nums.Min();
       sum = nums.Sum();
       avg = nums.Average();
       return res;
    }

    C#中out参数、ref参数与值参数用法

    ref参数是引用,out参数为输出参数。

    out参数修饰符

    1、当希望方法返回多个值时,声明 out 方法非常有用。

    2、不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。

    3、属性不是变量,不能作为 out 参数传递。

    static void Main(string[] args)
        {
          string s = "123";
          int result;
          bool b = MyTest(s,out result);
        }
        public static bool MyTest(string s, out int result)
        {
          bool isTrue;
          try {
            result = Convert.ToInt32(s);//使用out参数必须在定义方法内进行赋值
            isTrue = true;
          }
          catch
          {
            iwww.devze.comsTrue = false;
            result = 0;
          }
          return isTrue;
        }

    该方法返回类型为bool类型,在返回bool类型的同时也顺带返回了int类型的result变量。即,返回两种变量类型。

    ref参数修饰符

    1、必须使用初始化过的变量

    2、属性不是变量,不能作为 ref 参数传递。

    3、Ref则用在要要被调出使用的方法修改调出使用者的引用的时候。

    ref参数在定义的方法内对其进行处理,再将结果返回,定义方法无需多余的返回类型。

    static void Main(string[] args)
        {
          //使用ref参数来交换两个数字的值
          int a = 1;
         http://www.devze.com int b = 2;
          Change(ref a, ref b);
          Console.WriteLine("a{0},b{1}",a,b);
          Console.ReadKey();
        }
        public static void Change(ref int a, ref int b)
        {
          int temp;
          temp = a;
          a = b;
          b = temp;
        }

    总结

    以上为个人经www.devze.com验,希望能给大家一个参考,也希望大家多多支持我们。

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号