【发布时间】:2011-01-27 00:06:09
【问题描述】:
在 C# 中你可以这样做:
foo = string.Format("{0} {1} {2} {3} ...", "aa", "bb", "cc" ...);
此方法Format() 接受无限参数,作为第一个应该如何格式化字符串的参数,其余的是要放入字符串中的值。
今天我遇到了一种情况,我必须获取一组字符串并对其进行测试,然后我想起了这种语言功能,但我不知道。在几次不成功的网络搜索之后,我意识到只获取一个数组会更谨慎,但这并没有让我很满意。
问:如何制作一个接受无限参数的函数?以及如何使用它?
【问题讨论】:
-
infinite...这是很多参数。你试过了吗?
-
学究点,绝不是“无限”;但任何 sane 代码都应该没问题。
-
如果有人有无限的记忆,我会感到惊讶。我想要一些!
-
@Christian.K 我认为这样更清楚,因为这是我最初的问题,可能更容易与其他人可能遇到的类似疑问联系起来。而且(一般来说)这是一种创建重载的虚拟方式(如果你把其中一个弄错了,Visual Studio 会抱怨说“没有一个重载接受这些参数”或类似的东西)
-
@MarceloRamires:我试图指出这样一个事实,即“params”关键字,这就是您给出的示例的全部内容,与任何其他参数列表一样,与重载有关方法,而是允许使用“无限项”的 array 调用方法。但说真的,这是你的问题,所以如果标题说明你想知道/问什么,一定要保持这样(我可能误解了,很公平:-)
标签: c# .net function overloading