C#中实现可变参数实例
C#中实现可变参数实例
发布时间:2016-12-28 来源:查字典编辑
摘要:C语言的printf函数,参数的数量可以是可变的。使用va_start和va_end实现。C++中,实现参数可变,可以用overload。如...

C语言的printf函数,参数的数量可以是可变的。使用 va_start 和 va_end 实现。

C++中,实现参数可变,可以用 overload。如果参数数量不是很多的话,可以一个参数实现一个函数,两个参数再实现一个函数,三个参数再实现一个函数...

或者使用C的方案。

C#中,也可以用 overload。或者 params 关键字。

下述代码除了演示 params 实现变数量的参数,还演示了 这些参数的类型不必相同。

下述代码的输出是:

复制代码 代码如下:

1

2

one

two

aa

one

two

aa

1

2

代码如下:

复制代码 代码如下:

namespace @params

{

class Program

{

public string value = "aa";

static void Main(string[] args)

{

Program p = new Program();

foo(1, 2, "one", "two", p);

Console.WriteLine();

foo("one", "two", p, 1, 2 );

}

public static void foo(params object[] list)

{

foreach(object o in list)

{

if (o.GetType() == typeof(int))

{

Console.WriteLine(o);

}

else if (o.GetType() == typeof(string))

{

Console.WriteLine(o);

}

else if (o.GetType() == typeof(Program))

{

Console.WriteLine(((Program)o).value);

}

}

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类