C#中实现可变参数实例_C#教程-查字典教程网
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#教程学习
    编程开发子分类