备注:适用于初学者,自学于传智播客。

1.out参数。

  概念:如果在一个方法中,返回多个相同类型值的时候,可以考虑返回一数组。但是返回多个不同类型值的时候,返回数组显然不能解决问题,这时就引入out参数。out参数侧重于在一个方法中可以返回多个不同类型的值。

  代码举例:

    main:Test(numbers, out max1, out min1, out sum1, out avg1, out b, out s, out d); 

    方法:public static void Test(int[] nums, out int max, out int min, out int sum, out int avg, out bool b, out string s, out double d)
       {...}

2.ref参数。

  概念:能够将一个变量带入一个方法中进行改变,改变完成后再将改变后的值带出方法,ref参数要求在方法外必须为其赋值,而方法内可以不赋值。

  代码举例:

       main:Test(ref n1, ref  n2); 

     方法:public static void Test(ref int n1, ref  int n2)
        {...}

3.params可变参数。

  概念:将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。params可变参数必须是形参列表中的最后一个元素。

  代码举例:

        main:Test(,,,);

     方法:public static void Test(string name, int id, params int[] score)
        {...}

C#方法中三个重要的参数:out、ref、params的更多相关文章

  1. C# 方法中带默认值的参数

    设计一个方法的参数时,可为部分或全部参数分配默认值.然后,调用这些方法的代码可以选择不指定部分实参,接受其默认值.除此之外,调用方法时,还可通过指定参数名称的方式为其传递实参.以下代码演示了可选参数和 ...

  2. SpringMVC的controller方法中注解方式传List参数使用@RequestBody

    在SpringMVC控制器方法中使用注解方式传List类型的参数时,要使用@RequestBody注解而不是@RequestParam注解: //创建文件夹 @RequestMapping(value ...

  3. C#高级参数out,ref,params

    在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? out 当需要返回一系列返回值时可用out高级 ...

  4. 12SpringMvc_在业务控制方法中写入普通变量收集参数

    这篇文章讲的是jsp页面不是会传一些参数到Action中,那么Action怎么去接受这个数据呢? 方案: 案例结构如下:

  5. java方法中参数传递与随机点名器、库存管理案例

    一 参数传递 1.定义: 参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数, 这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了.这种传递方式,我 们称 ...

  6. 如何给ioloop.run_sync()中调用的函数传入参数

    问题 如何给tornado.ioloop.IOLoop中的run_sync方法中调用的函数添加参数 解决方案 使用functools.partial 解决示例 from tornado import ...

  7. c#基础学习(0806)之可变参数、ref和out关键字的简单使用

    params可变参数: 1.无论方法有几个参数,可变参数必须出现再参数列表的最后,可以为可变参数直接传递一个对应类型的数组: 2.可变参数可以传递参数也可以不传递参数,如果不传递参数,则数组为一个长度 ...

  8. js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式

    js replace 全局替换   js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <scrip ...

  9. C#方法中参数ref和out的解析

    一.C#方法中参数类型 有4种参数类型,有时候很难记住它们的不同特征,下图对它们做一个总结,使之更容易比较和对照. 二.C#方法中的参数 1.值参数 使用值参数,通过复制实参的值到形参的方式把数据传递 ...

随机推荐

  1. caffe源码阅读(一)convert_imageset.cpp注释

    PS:本系列为本人初步学习caffe所记,由于理解尚浅,其中多有不足之处和错误之处,有待改正. 一.实现方法 首先,将文件名与它对应的标签用 std::pair 存储起来,其中first存储文件名,s ...

  2. Mac下Call to undefined function imagettftext() 解决方案

    文章转载至Mac下Call to undefined function imagettftext()终极解决方案 安装了一套onethink程序准备调试,结果在登录页面发现验证码无法显示,单独访问验证 ...

  3. apache配置多域名多站点记录

    <VirtualHost *:80>  DocumentRoot "/mnt/web/www.*.cn"  ServerName www.*.cn  ErrorLog ...

  4. virtualbox ubuntu 网络连接 以及 连接 secureCRT

    参考http://luowei828.blog.163.com/blog/static/31031204201263125415257/ 用Host-Only 方案      ip: VirtualB ...

  5. Time.MONTH及Calendar.MONTH 默认的月份为 0-11

    Time.MONTH及Calendar.MONTH 默认的月份为  0-11 所以使用的时候要自己加1.

  6. 几个opencv 的iOS的编译问题解决

    一个iOS项目需要用到opencv,而且要支持arm64的,以前有个demo的,只支持32位的.到官网下载了最新支持64位库,结果编译无法通过. google了好久也没法解决,后来问了一个同事,找出原 ...

  7. strcpy 和 strcat

    strcpy 原型:char *strcpy( char *dest, char *src )  头文件:#include <string.h> 功能:将src地址开始且含有NULL结束符 ...

  8. jshint创建配置文件

    在项目中创建文件,并必须以 .jshintrc 命名: 例如 {    "eqeqeq":true,     "curly":true}

  9. npm install 出现UNABLE_TO_GET_ISSUER_CERT_LOCALLY

    解决方式 As a workaround you can turn ssl checking off in your .npmrc 执行 npm config set strict-ssl false ...

  10. AQL 对象关系图