欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

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

   

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

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

2、不允许将params修饰符与ref和out修饰符组合起来使用。

3、参数数组必须是一维数组。

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

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

二、示例代码

示例代码以返回最大值为例。

1、方法定义:

复制代码
 1 public class ExercisesEight
 2 {
 3 public static int paramsShowMaxValue(params int[] arr)
 4 {
 5 int maxValue = 0;
 6 if (arr != null && arr.Length > 0)
 7 {
 8 Array.Sort(arr);
 9 maxValue = arr[arr.Length - 1];
10 }
11 return maxValue;
12 }
13 public static void paramsShowMaxValue(string str,params int[] arr)
14 {
15 
16 {
17 //dosomething........
18 }
19 }
20 
21 
22 }
复制代码

 

2、调用方法

1
2
3
4
5
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue()}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(5)}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(15,2)}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(5,9,6,7,20,90,100,99)}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(new int[] { 6,5,2,7,10,20,60,4})}");

  

输出结果:

来自  https://www.cnblogs.com/maowp/p/8134342.html



c# 可变数目参数params实例


一般来说,参数个数都是固定的,定义为集群类型的参数可以实现可变数目参数的目的,但是.NET提供了更灵活的机制来实现可变数目参数,这就是使用params修饰符。可变数目参数的好处就是在某些情况下可以方便地对参数个数不确定情况的实现,例如计算任意数字的加权和,链接任意字符串为一个字符串等。看下例子:

复制代码代码如下:

public class Test2
{
public static void Main()
{
ShowName("小兵");
ShowName("小王", "小六");
}
public static void ShowName(params string[] names)
{
foreach (string name in names)
{
Console.WriteLine(name);
}
}
}



注意:
1、params修饰的参数必须为一维数组。
2、params修饰的参数数组,可以为任何类型,只要设置数组类型为object就可以。
3、params必须在参数列表的最后一个,并且只能使用一次。


来自  http://www.zyiz.net/tech/detail-53160.html



普通分类: