|
|
1
58
对于C 2.0编译器,几乎没有什么意义
在C 1.1中,避免创建大量独立的对象(所有这些对象都包含空字符串)是很有用的,但是那些日子已经过去了。
|
|
|
2
52
如果您真的想将空字符串用作可选参数值,那么没有什么可以阻止您为其定义自己的常量:
[作为旁白,有一个理由更喜欢
|
|
|
3
23
从原始问题:
空字符串在不同系统中有什么不同?它总是一个没有字符的字符串!我会
真的?
如果我发现一个实现
从反恐组织的赏金岗位:
那当然不会发生。 虽然我个人也希望使用一种完全不同的默认机制,但自启动以来可选参数在.NET中的工作方式始终意味着在元数据中嵌入常量,以便调用代码可以在没有提供相应参数的情况下将该常量复制到调用站点。
用
这就是我对这个问题感到惊讶的地方——抱怨围绕着
不
实际上会造成一个真正的问题。在您希望在执行时计算默认值的情况下,这一点更为重要,因为它实际上可能会有所不同。例如,我可以想象这样的情况,您希望能够使用
…但这并不总是合适的。 总之:
|
|
|
4
7
我从不用绳子。空的,我看不出它的意义。也许它可以让那些刚开始编程的人更容易,但我怀疑它是否有用。 |
|
|
5
4
我认为字符串背后的想法。空的是它增强了可读性。它不像newline那样,在不同的平台上表示它的方式有任何区别。它是asname,不能在默认参数中使用。但是,如果您在Windows和Linux上的Mono之类的设备之间进行端口连接,则不会导致任何问题。 |
|
|
6
3
作为Fyi,似乎对传递给属性构造函数的值施加了相同的约束——它们必须是常量。因为string.empty被定义为:
它不能被使用,而不是实际的常量。 |
|
|
7
1
我用
如果以后有人需要读取/更改我的代码,他们就会知道我是想检查或设置一个空字符串。只使用
例如:
VS
第一
|
|
|
8
-2
也许这个问题的最佳解决方案是通过这种方式重载这个方法:
|
|
|
Alvaromon · 如何在C#[重复]中传递作为结构的可选参数 8 年前 |
|
Bharath M Shetty · 如何一次将所有默认参数值设置为无 8 年前 |
|
|
Dima Deplov · Swift:如何将函数类型值设置为可选变量? 11 年前 |
|
|
shle2821 · Swift期权(?)。两者之间有什么区别? 11 年前 |
|
|
Mantas · PHP混乱检测器可选参数 12 年前 |
|
|
Adam · 调用带有可选参数的方法最具Python风格的方法是什么? 12 年前 |