C#中 out的使用

  • out的作用
  • out的用法
  • 使用out注意的地方
  • 举例

out的作用

用于一个函数传递多个返回值,这些返回值的类型可以不相同,也可以创建结构体或者一个类,或者使用静态变量达到类似的效果。

out的用法

out的使用需要在函数的定义,和函数的使用时使用out关键字
1.在书写函数时,如写方法test

int test(int arg,out int value1,out double value2){value1 = 1;value2 = 2.2;return arg;
}

这样样就返回了三个值,分别是函数返回值(int),value1(int)和value2(double)。

2.在函数的使用时

static void Main(string[] args){int a,b;double c;a=test(1,out b,out c);//结果a=1,b=1,c=2.2}

使用out注意的地方

1.函数定义了out的参数,在函数使用时,必须传入相应的参数,并写上关键字out
2.在out函数中,必须要给out参数赋值后才能结束函数

举例

使用一个函数求数组的最小值、最大值、平均值。
最小值用函数的return传递,最大值和平均值用out传递。

using System;namespace ConsoleApp3
{class Program{static void Main(string[] args){int[] ary = { 1, 2, 3, 4, 7 };int Min, Max;//存储函数返回的数组最小值和最大值double Average;//存储函数返回的平均值Min = getAryMin(ary, out Max, out Average);Console.WriteLine(Min);Console.WriteLine(Max);Console.WriteLine(Average);}static int getAryMin(int[] ary, out int max, out double average){int max1 = 0, min1 = 0;//表示数组的最大和最小值double average1 = 0;//表示数组的平均数if (ary.Length > 0){max1 = ary[0];min1 = max1;}foreach (int i in ary){average1 += i;if (i < min1)min1 = i;if (i > max1)max1 = i;}if (ary.Length > 0)average1 /= ary.Length;average = average1;max = max1;return min1;}}
}

运行结果:

C#中 out的使用相关推荐

  1. GNU Make 使用手册(于凤昌中译版)

    GNU Make 使用手册(中译版) 翻译:于凤昌 GNU make Version 3.79 April 2000 Richard M. Stallman and Roland McGrath 1 ...

  2. 面试:第十二章:所有总结

    Java基础 java基本类型哪些,所占字节 byte :1个字节 short :2个字节 char :2个字节 int :4个字节 long :8个字节 float :4个字节 double :8个 ...

  3. linux内核分析(转自某位大哥网上的笔记)

    启动 当PC启动时,Intel系列的CPU首先进入的是实模式,并开始执行位于地址0xFFFF0处的代码,也就是ROM-BIOS起始位置的代码.BIOS先进行一系列的系统自检,然后初始化位于地址0的中断 ...

  4. golang通过RSA算法生成token,go从配置文件中注入密钥文件,go从文件中读取密钥文件,go RSA算法下token生成与解析;go java token共用

    RSA算法 token生成与解析 本文演示两种方式,一种是把密钥文件放在配置文件中,一种是把密钥文件本身放入项目或者容器中. 下面两种的区别在于私钥公钥的初始化, init方法,需要哪种取哪种. 通过 ...

  5. 总结一下在使用某里云服务器的过程中出现过的一些问题

    此文总结在使用阿里云的过程中出现过的问题   想起来就记录一下 本人为言行负责! 海内选择腾讯华为,共勉! k8s不同命名空间的配置文件串掉了 k8s集群服务器购买上后,无法使用外网.连续购买了4台然 ...

  6. Kubernetes 中 设置pod不部署在同一台节点上

    在k8s中,节点的调度主要由亲和性和污点来进行控制的.   而在亲和性部分由分为了节点亲和性和节点反亲和性.   节点亲和性是指在pod部署时,尽量(软策略)或者必须满足(硬策略)部署在某些节点上. ...

  7. 在Dockerfile中设置G1垃圾回收器参数

    在Dockerfile中设置G1垃圾回收器参数 ENV JAVA_OPTS="\ -server \ -XX:SurvivorRatio=8 \ -XX:+DisableExplicitGC ...

  8. 在kotlin companion object中读取Bean,注入Bean对象

    在kotlin companion object中读取Bean,注入Bean对象 在使用kotlin时,或多或少地会使用到一些公共组件,如 http. mongo. redis相关的组件.   使用组 ...

  9. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  10. 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法

    数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...

最新文章

  1. GitHub开源:一键生成前后端代码神器
  2. rich-text 图片控制_武汉煤制工业级乙二醇图片
  3. 全差分放大器——共模的意义
  4. python飞机大战简书_python中的小游戏——飞机大战
  5. 鸟哥的Linux私房菜(基础篇)- 第十六章、例行性工作排程 (crontab)
  6. 2020 年微服务项目活跃度报告
  7. 剑指 Offer 16. 数值的整数次方
  8. 【C++ Priemr | 15】派生类向基类转换的可访问性
  9. python中分割字符串两种方法正则分组别名_Python 正则表达式(分组)
  10. Qt实现Word文档界面样式--QtitanRibbon
  11. Behavior Language Processing with Graph based Feature Generation for Fraud DetectioninOnline Lending
  12. 利用WinSock进行无连接的通信
  13. excel制作录入和查询系统_Excel进销存管理系统,完整函数应用,出入查询库存更新自动显示...
  14. ListView 中使用onItemClick和onItemLongClick的常见问题
  15. 三菱PLC源型漏型输入输出
  16. webservice解析xml文件
  17. 支付宝支付出现 openssl_sign(): supplied key param cannot be coerced into a private key
  18. 关于移动端H5获取微信非静默授权被拦截进入【微信快照页】问题及解决方案
  19. Eclipse 下Struts 2.1.6+ 和spring 2.5.5 整合
  20. E. Vasya and Good Sequences

热门文章

  1. 第1年的放射学侵蚀进展是早期RA进一步侵蚀性进展的新预测指标
  2. FRM1 P1B1P1B2 整理笔记
  3. 将网站、网页变成灰白色调的哀悼风格界面的CSS代码
  4. 电信光猫重置后与路由器重新配置实现正常上网
  5. Kafka服务器命令总结
  6. 计算机网络 网际控制报文协议 ICMP
  7. excel透视表 统计结果 累加
  8. Docker上部署SpringBoot项目并推送镜像到Docker Hub上---以MacOS为例
  9. 基于Python的简单数据处理
  10. 奇怪,奇怪,不过想想在中国酒不奇…