params 传参 params string[] param
来源:互联网 发布:海洋量子号js套房礼遇 编辑:程序博客网 时间:2024/05/17 04:09
为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组
如下所示:
public static Int32Add(params Int32[] values)
{
Int32 sum = 0;
for (Int32 x = 0; x < values.Length; x++)
{
sum += values[x];
}
return sum;
}
只有方法的最后一个参数才可以标记params,该参数必须标识一个一维数组,但类型不限。对方法的最后一个参数传递null或者0个数目的数组的引用都是合法的,如下面代码调用上面Add方法,编译正常,运行正常,和期望一样结果为0:
public static void Main()
{
Console.WriteLine(Add());
}
下面看一下如何编写一个可以接受任意数量、任意类型的参数的方法,也就是把上面方法的Int32改成Object[]就可以了:
public static void Main()
{
DisplayTypes(new Object(), new Random(), "string", 10);
}
public static void DisplayTypes(params Object[] objects)
{
foreach(Object o in objects)
{
Console.WriteLine(o.GetType());
}
}
输出:
System.Object
System.Random
System.String
System.Int32
注意,对于可接受可变数量参数的方法的调用会对性能造成一定的损失,因为数组是在堆上分配的,数组的元素还得初始化,数组的内存还得被垃圾回收器回收,为了减少这种没必要的性能损失,我们希望定义几个没有params关键字的重载方法,如System.String类的Concat方法,如下:
public static string Concat(object arg0);
public static string Concat(params object[] args);
public static string Concat(params string[] values);
public static string Concat(object arg0, object arg1);
public static string Concat(string str0, string str1);
public static string Concat(object arg0, object arg1, object arg2);
public static string Concat(string str0, string str1, string str2);
public static string Concat(object arg0, object arg1, object arg2, object arg3);
public static string Concat(string str0, string str1, string str2, string str3);
- params 传参 params string[] param
- param和params使用
- params
- EL中的param和params
- EL中的param 与params
- EL中的param和params
- 另类数组(如String... params)
- 另类数组(如String... params)
- vue使用params传参
- static string AppendString(params string[] strList)
- Java多参数方法test(String... params)
- java 可变参数的问题 String... params
- struts2注解中的params传参
- 关于params
- params C#
- params 关键字
- ENV PARAMS
- params 关键字
- 如何雇人的十五条建议
- Shell 基本语法
- R-数据保存和输出
- Handler消息机制浅谈
- WLAN和移动网互通技术分析
- params 传参 params string[] param
- 解析XML工具之Digester详细说明
- Android开发点点滴滴——事件处理
- 使用TabHost实现QQ标签栏
- 开启cloudstack的8096端口
- STL 容器类型
- 2014找工作总结-机会往往留给有准备的人
- hdu 1548
- matlab生成一个三角形平面的法向量