![]() |
1
28
这是一个相当常见的问题。详见本规范第7.4.1和7.4.3.1节。 简单地说:带有params数组的方法可以应用于其“正常形式”或“扩展形式”。也就是说,你可以说
当接到适用于 两种形式 编译器总是选择普通形式而不是扩展形式。 假设我们每次都适用时都选择扩展形式。假设你有
如果我们总是选择扩展形式,那么您将如何将空数组传递给这个东西呢?那是不可能的! 假设你说
我们总是选择扩展的形式。这能做什么?好吧,一个对象数组是一个对象,所以这将选择扩展的形式——它将 另一个 数组,把这个东西包装在数组中,然后传递给它! 选择扩展形式而不是普通形式会导致疯狂的结果。总是选择普通形式而不是扩展形式是更明智的做法。 |
![]() |
2
5
它按设计工作,我想说:
您正在传入一个空字符串-在您的方法中,
这里是同一个故事-你传递了两个元素,所以
这显然被解释为一个空值,因此
这也是一个由两个元素组成的数组,两个元素都为空,但数组本身不是空的,因为您要传递两个值。
这可能有点让人困惑,但实际上:你需要检查的是
有点奇怪的是,一开始可能是反直觉的,一个显式的“空”值被视为“空”,而不是一个值为空的单个项的数组。为什么会这样,以及它是否可以以不同的方式实施——我不知道,说实话。 |
![]() |
3
4
这个
嗯,我读了我写的东西,也许这并不能回答你的问题。 耸肩 . 编辑: 这可能就是为什么: 可以发送一个逗号分隔的参数声明中指定类型的参数列表,或指定类型的参数数组。 |
![]() |
4
0
如回答一所述:
|
![]() |
A B · C#Excel自动调整列避免长文本时出错 4 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |