C# params 用法简介

摘要:
Params是C#的关键字。参数主要用于声明方法时参数类型或数量不确定的情况。关于params参数数组,需要掌握以下几点:1。参数数组必须是一维数组2。不允许将params修饰符与ref和out修饰符3组合使用。与参数数组对应的实际参数可以是相同类型的数组名称,也可以是与数组元素相同类型的任意数量的变量。4.如果参数是数组,则通过引用传递。如果参数是变量或表达式,则按值传递

params 是C#的关键字, params主要是在声明方法时参数类型或者个数不确定时使用,关于params 参数数组,需掌握以下几点:   

一.参数数组必须是一维数组  
二.不允许将params修饰符与ref和out修饰符组合起来使用   
三.与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量  
四.若实参是数组则按引用传递,若实参是变量或表达式则按值传递  
五.用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组
六.形式为:方法修饰符 返回类型 方法名(params 类型[] 变量名)



代码:

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            UseParams(1, 2, 3); //既可以用任意多个int

            int[] myarray = new int[3] { 10, 11, 12 };
            UseParams(myarray); //也可以是int一维数组  

            UseParams2(1, 'a', new object() );
        }

        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();
        }
    }
}

C# params 用法简介第1张

免责声明:文章转载自《C# params 用法简介》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据可视化基础专题(三十四):Pandas基础(十四) 分组(二)Aggregation/applyBlockingCollection使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于bootstrap的局部刷新的分页

在之前的工作中我用的分页有很多,一直不牢固,所以自己用起来也不是很顺手,这是一个局部刷新的分页,我试了很多,本想用mvcPager来做局部刷新,但是考虑到成本太高,放弃了,先来总结一下基于bootstrap的分页吧,便于自己以后使用 开源地址 https://github.com/lyonlai/bootstrap-paginator 首先引用 Jquer...

MATLAB的基本元素

MALTAB程序的基本数据单元是数组,MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待。要注意的是:确保你所声明的变量名前31 个字符是独一无二的。否则,MATLAB 将无...

js 过滤数组里对象的某个属性

需求 一个大数组,里面乱七八糟一堆属性。现在只需要其中两个属性,用这两个属性组成一个对象,重新得到一个新数组。新数组长度跟老数组一样,只不过里面所有对象只剩下了两个属性 示例 handleSelectionChange(selection) { var invoiceGxQueryList = []; for (var i =...

ES6新增数组方法

1.扩展运算符可以将数组或者对象转为用逗号分隔的参数序列 let ary = [1, 2, 3]; ...ary // 1, 2, 3 console.log(...ary); // 1 2 3,相当于下面的代码 console.log(1,2,3); 2.扩展运算符可以应用于合并数组 let ary1 = [1, 2, 3]; let...

Perl函数及参数介绍

子例程,函数  子例程,函数的作用域是指在程序中能够看到它的位置范围。子例程是全局的,可以放在脚本中的任意位置,甚至放在其他脚本文件中。当使用来自其他文件的子例程时,应当使用关键字do,require或use将它加载到脚本里。若要调用一个子例程,用户可以在子例程前加上&符号,或在子例程前加上do关键字,也可以在子例程名后面加上一组括号。如果使用了向...

Python实现一些常用排序算法

一些常用的排序 #系统内置排序算法#list.sort()#heapq模块 def sys_heap_sort(list): import heapq heap = [] for i in range(len(list)): heapq.heappush(heap,list[i]) for i in rang...