C#中out关键字
  0LAyZmPBHY0e 2023年12月31日 17 0

简介

在C#中可以使用out关键字,指定所给的参数是一个输出参数。out关键字的使用方式与ref关键字相同,都是在函数定义和函数调用中用作参数的修饰符。

一个使用out关键字的例子

 internal class Program
  {
       static void Main(string[] args)
      {
           int[] arr = { 2, 4, 6, 8, 10, 13 };
           int max,min;
           double average;
           average = CalculateAverage(arr, out max, out min);
           Console.WriteLine($"The Max is {max}");
           Console.WriteLine($"The Min is {min}");
           Console.WriteLine($"The Average is {average}");

      }
       static double CalculateAverage(int[] arr, out int maxVal, out int minVal)
      {
           maxVal = arr[0];
           minVal = arr[0];
           double sum = 0;
           double average = 0;
           for(int i = 0;i < arr.Length;i ++)
          {
               sum += arr[i];
               if (arr[i] > maxVal)
              {
                   maxVal = arr[i];
              }
               if (arr[i] < minVal)
              {
                   minVal = arr[i];
              }
          }
           average = sum / arr.Length;
           return average;
      }
  }

运行结果,如下图所示:

image-20231102204104348

实际上,out的执行方式与引用参数几乎完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。

但是二者还是存在一些重要的区别:

1、把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数。

2、在使用out参数时,必须把它看成尚未赋值。

参考书籍

《C#入门经典(第7版)》——Benjamin Perkins、Jacob Vibe Hammer、Jon D. Reid

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月31日 0

暂无评论

推荐阅读
  NPQODODLqddb   2024年05月17日   67   0   0 .NET
  mVIyUuLhKsxa   2024年05月17日   52   0   0 .NET
  XkHDHG7Y62UM   2024年05月17日   43   0   0 .NET
  f18CFixvrKz8   2024年05月18日   83   0   0 .NET
  rBgzkhl6abbw   2024年05月18日   75   0   0 .NET
  MYrYhn3ObP4r   2024年05月17日   40   0   0 .NET
  S34pIcuyyIVd   2024年05月17日   57   0   0 .NET
  gKJ2xtp6I8Y7   2024年05月17日   50   0   0 .NET
  MYrYhn3ObP4r   2024年05月17日   39   0   0 .NET
0LAyZmPBHY0e