0

在 .NET 4 出来之前,我们一直在做这样的事情来检查 null / 空字符串:

String s;
if ((s + "").Trim().Length == 0)
{
    //do something
}

虽然上述方法对我们来说效果很好,但我知道在 .NET 4 中,我们有一种IsNullOrWhiteSpace方法可以做类似的事情。

我的问题是,哪个更好?我们应该改用内置函数吗?

4

3 回答 3

4

在 .NET 4 上,我肯定会使用内置方法。毕竟,它准确地说明了你想要做什么。

如果您在 .NET 4 之前遇到困难,为什么不使用:

if (s == null || s.Trim() == "")

或者

if (s == null || s.Trim().Length == 0)

? 两者都说明了您想要实现的目标。

我绝对不会在这里使用字符串连接。抛开性能不谈,您对字符串连接不感兴趣。每当你发现你的代码做的事情实际上不是你想要实现的一部分时,你应该为了可读性而尝试改进它。

于 2013-03-17T17:21:15.407 回答
2

我个人使用IsNullOrWhiteSpace,主要是因为使用它可以使代码更清晰易读并且可以处理更多案例(WhiteSpace部分)。这取决于您的偏好,因为这两种方法的作用几乎相同。

于 2013-03-17T17:21:02.500 回答
2

为什么不编写一个辅助方法来实现IsNullOrWhiteSpace.NET 4 之前的功能?就像

public static boolean IsNullOrWhiteSpace(string input)
{
    return string.IsNullOrEmpty(input) || input.Trim() == string.Empty;
}

不要像乔恩所说的那样在这里使用连接。检查空/空不是一个好习惯。

于 2013-03-18T01:51:42.233 回答