【发布时间】:2013-10-17 23:40:05
【问题描述】:
以下代码:
protected bool IsStringAndNotNullAndEmpty(object value)
{
var s = value as string;
if (s != null)
{
return string.IsNullOrEmpty(s);
}
return false;
}
有以下object通过:
"Relatively long option for testing"
这应该是一个string,但它不是第二个return 语句。
任何想法为什么它可能会这样做?老实说,我很难过。
【问题讨论】:
-
你的字符串不是空的,也不是空的,所以它返回假。请在提问前调试。 if中的否定返回
-
为什么要检查
null?这就是string.IsNullOrEmpty所做的! -
你的程序来到了 string.IsNullOrEmpty(s) 但是因为 s in not null 这个方法返回 false...
-
如果你想让你的方法在不为空的时候返回true,你为什么要调用你的方法“是字符串并且它不为空并且为空”?我认为您需要重新考虑您的方法需要做什么并编写执行此操作的代码。
标签: c# string validation object