在c#中可能有一个空参数,但为什么呢?

时间:2011-08-29 02:23:05

标签: c#

  

可能重复:
  Why does params behave like this?

如果你写这样的方法:

void TestMethod(params object[] args) { }

然后如果你这样称它:TestMethod()那么数组将为空。

如果你这样称它:TestMethod(null,null)那么数组将是一个有两个空值的数组。

但为什么,当你调用这样的方法时:TestMethod(null)数组是否为null?

我原本期望结果是一个具有一个空值的数组。

我知道这个C# - Is it possible to have null params?,但没有解释原因。

- 编辑:

TestMethod((object)null)是一个具有一个空值的数组也很有趣 和TestMetod((object [])null)是一个空数组。

只是通过将null转换为您期望的类型来明确您的意图是正确的方法。

0 个答案:

没有答案