一个很普通的例题,求出一个整型数组的最小值、最大值、总和、平均值,利用调用函数的方法来ut参数实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace out参数
{
class Program
{
static void Main(string[] args)
{
int[] arr1 = { 1, 3, 6, 9,10,0};
int[] arr2 = GetMaxMinSumAvg(arr1);
for (int i = 0; i < arr2.Length; i++)
{
Console.WriteLine("{0}",arr2[i]);
}
Console.ReadKey();
}
/// <summary>
/// 求一个整型数组中的最小值、最大值、总和、平均值
/// </summary>
/// <param name="arrNum">参数为一个整型数组</param>
/// <returns></returns>
public static int[] GetMaxMinSumAvg(int[] arrNum)
{
int[] arrNewNum = new int[4];
arrNewNum[0] = arrNum[0];//最小值
arrNewNum[1] = arrNum[0];//最大值
arrNewNum[2] = 0;//总和
for (int i = 0; i < arrNum.Length; i++)
{
if (arrNum[i] < arrNewNum[0])
arrNewNum[0] = arrNum[i];
if (arrNum[i] > arrNewNum[1])
arrNewNum[1] = arrNum[i];
arrNewNum[2]+=arrNum[i];
}
arrNewNum[3] = arrNewNum[2] / arrNum.Length;
return arrNewNum;
}
}
}

  在上面的这个例题中,在被调用函数public static int[] GetMaxMinSumAvg(int[] arrNum)中,是很轻松的实现了四个值的求算,然后通过参数数组将4个值传递给主调函数,在这里,我们可以看到,在被调用函数传递给主调函数,是通过数组传递过去了多个值,但这仅仅是传递过去了同类型的数据,现实中往外需要在传递给多个不同类型的数据,这种情况下,上面的这个方法就无法实现了,所以这里引入了out,

c#中方法out参数的使用的更多相关文章

  1. C#中方法的参数的四种类型

    C#中方法的参数有四种类型:       1. 值参数类型  (不加任何修饰符,是默认的类型)       2. 引用型参数  (以ref 修饰符声明)       3. 输出型参数  (以out 修 ...

  2. C#开发Unity游戏教程之Unity中方法的参数

    C#开发Unity游戏教程之Unity中方法的参数 Unity的方法的参数 出现在脚本中的方法,无论是在定义的时候,还是使用的时候,后面都跟着一对括号“( )”,有意义吗?看起来最多也就是起个快速识别 ...

  3. java中方法传入参数时:值传递还是址传递?

    JAVA中的数据类型有两大类型: ① 基本数据类型:逻辑型(boolean).文本型(char).整数型(byte.short.int.long).浮点型(float.double) ② 引用数据类型 ...

  4. Swift3中方法可变参数语法的一些改变

    我们知道在Swift2中,默认情况下方法的参数是let值,也就是不可改变的. 不过我们可以在参数前添加var关键字改变其不变性: func foo(var i:Int){ i += 1 print(i ...

  5. C#中方法的参数修饰符

    做项目久了,有的时候真的需要静下心来认真的总结一下自己所用到的技术,而不是每天依葫芦画瓢,每天忙忙碌碌,到头来不知道自己忙了个啥,学了什么,自己到底掌握了多少知识.所以我想回顾一下C#的基础知识,把重 ...

  6. Swift中方法闭包参数不能省略括号的一种情况

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在swift中,如果方法的最后一个参数是一个闭包类型, ...

  7. 《Java中方法的参数传递方式只有一种:值传递》

    //方法的参数传递机制(1):基本类型做形参的传递. class PrimitiveTransferTest { public static void swap(int a,int b) { //下面 ...

  8. Java:方法的参数是传值还是传引用

    Java中方法的参数总是采用传值的方式. 下列方法欲实现对象的交换,但实际上是不能实现的. public void swap(simpleClass a,simpleClass b){ simpleC ...

  9. C#--方法的参数类型

    在C#中,方法的参数类型有四种: 值类型 引用类型 输出类型 数组型参数 值参数: 所谓值参数,就是利用值向方法传递参数时,编译程序给实参的值做一份拷贝,并将此拷贝传递给该方法,这样做的结果就是被调用 ...

随机推荐

  1. Windows7 搜索功能关闭了,怎么重新打开

    你的搜索功能被关闭了,打开cmd.exe,进入windows\system32输入OptionalFeatures.exe,里面有搜索功能选项,选择他.重新启动.

  2. cf602B Approximating a Constant Range

    B. Approximating a Constant Range time limit per test 2 seconds memory limit per test 256 megabytes ...

  3. MYSQL: Cannot delete or update a parent row: a foreign key constraint fails

    这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据.可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况. SET FOREIGN_KEY_CHE ...

  4. Struts2中OGNL

    什么是OGNL OGNL:Object Graph Navigation Language  对象导航图语言 开源项目,取代页面中Java脚本,简化数据访问 和EL同属于表达式语言,但功能更为强大 让 ...

  5. python中如何判断list中是否包含某个元素

    在python中可以通过in和not in关键字来判读一个list中是否包含一个元素 pythontab = ['p','y','t','h','o','n','t','a','b'] if 't' ...

  6. 全情投入是做好工作的基础——Leo鉴书39

    很多人都有:“内向的人则不擅长社交,只能会活得很封闭”的思想,于是不少内向的朋友要么认为只有扭曲自己的性格变得外向才能在社会上吃得开,才能很爽的行走职场:要么就决定完全封闭自己活在孤独之中,其实以上两 ...

  7. [分享]WPF 虚拟键盘

    场景:用WPF做触屏的软件难免会需要用户输入的问题,至少是简单的数字,这个时候就免不了需要键盘输入. 思路:既然是虚拟键盘,那么我的目的就是模拟键盘输入即可. 1.模拟键盘输入 模拟键盘输入?那么肯定 ...

  8. 数据结构 - 堆排序(heap sort) 具体解释 及 代码(C++)

    堆排序(heap sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 堆排序包括两个步骤: 第一步: 是建立大顶堆(从大到小排 ...

  9. android中获取时间

    android中获取时间 1)通过calendar类获取 Calendar calendar = Calendar.getInstance();int moth = calendar.get(Cale ...

  10. 各种开发语言示例调用WebService接口

    ASP示例: <% uid="账号"pwd="密码"tos="13900041123"msg="你们好"url = ...