【发布时间】:2012-03-14 17:50:35
【问题描述】:
我要删除第一行:
!string.IsNullOrEmpty(cell.Text)
这会导致任何问题吗?
我在一些代码中遇到了这个问题:
if ((id % 2 == 0)
&& !string.IsNullOrEmpty(cell.Text)
&& !string.IsNullOrEmpty(cell.Text.Trim())
)
我认为第一个 string.IsNullOrEmpty 会在带有空格的字符串上返回 false
并且带有 Trim() 的行会处理这个问题,所以第一个 IsNullOrEmpty 没用
但在我删除没有修剪的线之前,我想我会按组运行它。
【问题讨论】:
-
你的意思是 string.IsNullOrWhitespace
-
是不是太难测试或者找官方文档了? (msdn.microsoft.com/en-us/library/…)。简短回答:不,一串空格不为空或为空。
-
你们没有抓住重点。是的,您可以使用
IsNullOrEmpty,但 OP 对为什么需要第一次调用来避免NullReferenceException感到困惑。理解这一点比切换到不同的方法调用重要得多,因为他被告知这样做。 -
@madth3 我认为他实际上是在问他是否可以省略第一次检查:
!string.IsNullOrEmpty(cell.Text),而不是string.IsNullOrEmpty()是否检查空格,但不得不阅读这个问题几次。跨度> -
@ntziolis 你说得对,我误解了要删除的行。我仍然认为尝试一下并查看官方文档并不难。
标签: c# string trim isnullorempty