C#中out关键字

这篇具有很好参考价值的文章主要介绍了C#中out关键字。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

在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;
      }
  }

运行结果,如下图所示:

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

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

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

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

参考书籍

《C#入门经典(第7版)》——Benjamin Perkins、Jacob Vibe Hammer、Jon D. Reid文章来源地址https://www.toymoban.com/news/detail-747704.html

到了这里,关于C#中out关键字的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C# const关键字学习

    你居然不知道const?今天在做项目的时候别人问我的,我确实不知道这个,今天我们就来一起学习一下const定义局部变量,这个对于常数变量非常的友好的,可以提高程序的运行效率,因为它是在编译时的操作,所以我们必须要学习一下,这不就是提

    2024年01月22日
    浏览(46)
  • C# void 关键字学习

    C#中void是System.Void的别名; 可以将 void 用作方法(或本地函数)的返回类型来指定该方法不返回值; 如果C#方法中没有参数,则不能将void用作参数;这是与C语言不同的,C语言有 int func(void) 这样的; 做一个winform示例看一下;

    2024年02月10日
    浏览(34)
  • C#中的ref关键字

    1、传递的是参数的值(数据的副本)而不是原始数据本身。 2、函数内部对值参数的修改不会影响到原始数据。 3、通常用于传递基本数据类型(如整数、浮点数、布尔值)或不可变对象(如字符串、元组)。 4、值参数的传递是一种传值调用(Call by Value)。 示例代码 运行结

    2024年02月05日
    浏览(45)
  • C# 使用SIMD向量类型加速浮点数组求和运算(4):用引用代替指针, 摆脱unsafe关键字,兼谈Unsafe类的使用

    作者: zyl910 目录 一、引言 二、办法说明 2.1 历史 2.2 局部引用变量与引用所指的值(类似指针的 地址运算符 、间接运算符 * ) 2.3 重新分配局部引用变量(类似指针直接赋值) 2.4 引用地址调整(类似指针加减法) 2.5 引用地址比较(类似指针比较) 2.6 重新解释(类似C++的

    2024年02月15日
    浏览(36)
  • C# this关键字的作用

    在C#中, this 有以下几种主要作用: 引用当前对象: this  用于引用当前类的实例。可以通过  this  来访问当前对象的成员变量、方法和属性。 区分字段与局部变量:当成员变量和局部变量同名时,可以使用  this  来区分。 在构造函数中调用其他构造函

    2024年02月22日
    浏览(44)
  • C#关键字Virtual用法详解

    本篇讲解C#Virtual用法 目录 定义 特性 实例 virtual 用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象。 虚拟成员的实现可由派生类中的重写成员更改

    2024年02月15日
    浏览(44)
  • 正确理解c# default关键字

    最近QA测试一个我开发的一个Web API时,我意识到之前对C#的 default 的理解一直是 想当然 的。具体情况是这样,这个API在某些条件下要返回模型的默认值,写法类似于下面这样 实际上,这个API会返回 204 No Content ,而不是想象中的一个空的WeatherForecast。API返回204,说明 default 得

    2024年01月16日
    浏览(40)
  • Java文件操作(遍历目录中的文件,找到并删除有指定关键字的文件)

    对于通过java对文件继续读取和写入的操作推荐看读取文件和写入文件操作         扫描指定目录中的文件,并找到名称中包含指定字符的所有普通文件(不包括目录),并后续询问用户是否要删除该文件         实际上题目就要求我们对一个指定的目录下的文件进行遍历

    2024年02月13日
    浏览(43)
  • 深入理解C#泛型:new与where关键字全解析

    C#泛型中new和where是重要的,它们都可以用于约束泛型类型参数的限制;它们都用于提高代码的安全性和可用性,它们的作用在很大程度上提高了代码的可读性和可维护性。在这篇文章中,我们将一起了解泛型中的new和where,以及它们之间的区别。 1. new 在C#泛型中

    2023年04月25日
    浏览(33)
  • wpf C# partial关键字:把一个类分成几个

    将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。 局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现。 (2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。 (3) 需要多人合作编写一个类。

    2024年01月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包