c#params应用

params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候。 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 关于参数数组,需掌握以下几点。   

(1)若形参表中含一个参数数组,则该参数数组必须位于形参列表的最后;   

(2)参数数组必须是一维数组;   

(3)不允许将params修饰符与ref和out修饰符组合起来使用;   

(4)与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量;   

(5)若实参是数组则按引用传递,若实参是变量或表达式则按值传递。   

(6)用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组,

形式为:方法修饰符 返回类型 方法名(params 类型[] 变量名) 如带有参数的SQL 语句,不同的表的字段数量也不同, 当你更新修改的时候就可以用。例如:

params using System;

public class MyClass

{

public static void UseParams(params int[] list)

{

for (int i = 0 ; i < list.Length; i++)

{ Console.WriteLine(list[i]); }

Console.WriteLine();

}

public static void UseParams2(params object[] list)

{

for (int i = 0 ; i < list.Length; i++)

{ Console.WriteLine(list[i]); }

Console.WriteLine();

}

static void Main()

{

    UseParams(1, 2, 3);

    UseParams2(1, 'a', "test");

     // An array of objects can also be passed, as long as

    // the array type matches the method being called.

    int[] myarray = new int[3] {10,11,12};

    UseParams(myarray);

  }

}

  输出:1231atest101112

c#中params关键字应用的更多相关文章

  1. 用C#中的params关键字实现方法形参个数可变

    个人认为,提供params关键字以实现方法形参个数可变是C#语法的一大优点.在方法形参列表中,数组类型的参数前加params关键字,通常可以在调用方法时代码更加精练. 例如,下面代码: class P ...

  2. 浅谈.net中的params关键字

    先举个例子: 代码如下: class Program { static void Main(string[] args) { Console.WriteLine(Sum(1)); Console.Wr ...

  3. c#中可变参数params关键字学习

    引用 https://www.cnblogs.com/maowp/p/8134342.html 基础知识 1.概念 params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候 ...

  4. c#中可变参数(params关键字的使用)

    一.params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候. 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中 ...

  5. params关键字

    每个C#函数都允许有个参数带params关键字,在调用的时候可以不给他传值,也可以给他传值,还可以给他传多个值 注意事项: ·一个函数中只能一个参数带params关键字:·带params关键字的参数必 ...

  6. params关键字载入空值的陷阱

    在编写方法时,不确定这个方法要传入多少个参数,或者随着程序的开发速度,该方法的参数会发生很大变化,在C#中引入了params关键字,使用params修饰object类型的数组并作为方法的参数类型,可以 ...

  7. 【C#学习笔记之一】C#中的关键字

    C#中的关键字 关键字是对编译器具有特殊意义的预定义保留标识符.它们不能在程序中用作标识符,除非它们有一个 @ 前缀.例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字. 下面是列出的 ...

  8. params关键字、工具辅助类与、加密与解密

    一.params关键字 在C#中如果给方法的参数加上关键字params则会形成可变参数,在传递时可以是0-n个对象. 示例: using System; using System.Collection ...

  9. C#中一些关键字和罕见类

    1.@ 在处理字符串时,那些个字符串转义字符我们可以使用这个,那@就是为解决这个而诞生的,直接让字符串原样输出有木有?什么sql字符串了,还有路径啥了的,统统搞定 string sql = @&quo ...

随机推荐

  1. js中的target与currentTarget的区别<转>

    关于js中target与currentTarget的区别的关键在于他们所处在的事件流的阶段是不一样的,target处于事件流的目标阶段,currentTarget处理事件流的捕获.处于目标阶段和冒泡阶 ...

  2. 在MySQL应用上的挑战

    本期采访的讲师是来自腾讯高级软件工程师 雷海林,他有着10年以上的Linux后台Server开发经验,目前主要从事分布式Cache.实时大数据处理引擎,分布式MySQL(TDSQL)设计和开发工作. ...

  3. How to activate maven profile inside eclipse

    How to activate maven profile inside eclipse Normally maven is use for project dependency management ...

  4. Linux系统下如何查看物理内存占用率

    Linux系统下如何查看物理内存占用率 Linux下看内存和CPU使用率一般都用top命令,但是实际在用的时候,用top查看出来的内存占用率都非常高,如:Mem:   4086496k total, ...

  5. git chekout分支遇到问题:need merge

    解决步骤: 在master上, 1.git add . 2.git commit 3.新建分支,并且checkout到此分支,重新提交

  6. hdu 3085(双向bfs)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3085 思路:双向广搜,每次从M出发,搜三步,从G出发,搜一步,然后就是判断是否走到对方已经走过的格子, ...

  7. ReactNative iOS源码解析

    http://awhisper.github.io/2016/06/24/ReactNative%E6%B5%81%E7%A8%8B%E6%BA%90%E7%A0%81%E5%88%86%E6%9E% ...

  8. selenium基础框架的封装(Python版)这篇帖子在百度关键词搜索的第一位了,有图为证,开心!

    百度搜索结果页地址:https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd=se ...

  9. php 将一个字符串分割为组成它的字符

    问: php里如何将一个字符串分割为组成它的字符? 比如hello  -> [h, e, l, l, o]   以下有三种方法: 这是需要被分割的字符串:  $str = 'Hello小样'; ...

  10. Angular2 兼容 UC浏览器、QQ浏览器、猎豹浏览器

    找到/src/polyfills.ts文件 把/** IE9, IE10 and IE11 requires all of the following polyfills. **/下注释掉的代码恢复 ...