如何在 C# 中声明具有动态参数的函数 [重复]

Posted

技术标签:

【中文标题】如何在 C# 中声明具有动态参数的函数 [重复]【英文标题】:How to declare a function with dynamic arguments in c# [duplicate] 【发布时间】:2016-10-04 09:19:27 【问题描述】:

有没有办法在 c# 中声明一个函数,该函数可以采用动态数量的相同类型参数而不会重载函数,例如:

in foo(...)

foo(1) foo(1, 2) foo(1, 2, 3...)

【问题讨论】:

感谢马克的编辑。 【参考方案1】:

你需要了解params。

您可以指定方法的签名,例如:

public void Foo(params int[] list)


list 将是一个整数数组。

【讨论】:

【参考方案2】:

使用 params 关键字:

int foo(params int[] arguments)

....

【讨论】:

简单而简短,谢谢!【参考方案3】:

使用 ParamArrayAttribute 可以得到想要的效果。

Public void Foo(params int[] list)

方法调用示例:

Foo(1); Foo(1,2); Foo(1,2,3);

请参阅此处了解更多信息 Msdn multiple parameters

【讨论】:

以上是关于如何在 C# 中声明具有动态参数的函数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

c#中怎样运行调用的dll文件

如何在 C# 1.1 中动态声明和处理列表列表

如何在 C# 中解析命令行参数 [重复]

多类型参数约束的C#泛型语法[重复]

认识函数

C# Specflow:如何在另一个文件夹的类中调用具有动态表作为参数的方法