当试图确定一个字符串是否为空或为空时,我通常已经有了该字符串。这就是为什么我期望像String.IsNullOrEmpty()这样的实用程序函数在没有参数的情况下也可以工作的原因:

String myString;
bool test=myString.IsNullOrEmpty();

但是,这不起作用,因为IsNullOrEmpty需要一个String参数。相反,我必须写:
String myString;
bool test=String.IsNullOrEmpty(myString);

为什么会这样呢?似乎不必要地笨拙。当然,我可以轻松地为此编写自己的扩展方法,但这似乎是一个非常明显的遗漏,因此我想知道是否有任何适当的理由。我不敢相信Microsoft刚刚忘记了此函数的无参数重载。

最佳答案

在将扩展方法添加到C#之前,此方法已经存在很长时间了,在扩展方法之前,还没有办法定义实例方法/属性,例如xyz.IsNullOrEmpty(),如果xyznull,您仍然可以调用它。

关于c# - 为什么没有没有参数的IsNullOrEmpty重载方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/786706/

10-11 15:20