- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
在 .NET 4.0 及更高版本中存在 string.IsNullOrWhiteSpace(string)
时,在检查字符串时使用 string.IsNullOrEmpty(string)
是否被视为不良做法?
最佳答案
最佳做法是选择最合适的。
.Net Framework 4.0 Beta 2 has a new IsNullOrWhiteSpace() method for strings which generalizes the IsNullOrEmpty() method to also include other white space besides empty string.
The term “white space” includes all characters that are not visible on screen. For example, space, line break, tab and empty string are white space characters*.
引用:Here
For performance, IsNullOrWhiteSpace is not ideal but is good. The method calls will result in a small performance penalty. Further, the IsWhiteSpace method itself has some indirections that can be removed if you are not using Unicode data. As always, premature optimization may be evil, but it is also fun.
引用:Here
查看源码(引用源.NET Framework 4.6.2)
[Pure]
public static bool IsNullOrEmpty(String value) {
return (value == null || value.Length == 0);
}
[Pure]
public static bool IsNullOrWhiteSpace(String value) {
if (value == null) return true;
for(int i = 0; i < value.Length; i++) {
if(!Char.IsWhiteSpace(value[i])) return false;
}
return true;
}
示例
string nullString = null;
string emptyString = "";
string whitespaceString = " ";
string nonEmptyString = "abc123";
bool result;
result = String.IsNullOrEmpty(nullString); // true
result = String.IsNullOrEmpty(emptyString); // true
result = String.IsNullOrEmpty(whitespaceString); // false
result = String.IsNullOrEmpty(nonEmptyString); // false
result = String.IsNullOrWhiteSpace(nullString); // true
result = String.IsNullOrWhiteSpace(emptyString); // true
result = String.IsNullOrWhiteSpace(whitespaceString); // true
result = String.IsNullOrWhiteSpace(nonEmptyString); // false
关于c# - string.IsNullOrEmpty(string) 与 string.IsNullOrWhiteSpace(string),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6976597/
我使用带有“IsNullOrWhiteSpace(+textbox)”的 if 条件来引用没有值或只有空格的文本文件。但是,现在我需要知道 hot 才能指定一个非空字段或仅空格。 这是我写的代码: i
是否有等同于 .NET 的 String.IsNullOrWhitespace 的 JavaScript以便我可以检查客户端的文本框是否包含任何可见文本? 我宁愿先在客户端执行此操作,也不愿回发文本框
我有一行代码 var delimiter = string.IsNullOrWhiteSpace(foundDelimiter) ? "," : foundDelimiter; 当 foundDeli
我有以下代码: var countries = from c in db.Countries where (string.IsNullOrWhiteSpace(searchAlpha2) ||
亲们, 我正在查看 string.IsNullOrWhiteSpace 的实现: http://typedescriptor.net/browse/types/9331-System.String 实
我有以下代码: return this.ObjectContext.BranchCostDetails.Where( b => b.TarrifId == tariffId && b.Diam
我遇到了隐藏字符 \0 的问题这很像 string.IsNullOrWhiteSpace 方法不将其视为空白的“空白”。我想知道为什么这在 .NET 中以这种方式实现,是否有任何替代 string.I
我是 python 新手,想找到 C# string.IsNullOrWhiteSpace 的等效项在Python中。通过有限的网络搜索,我创建了以下函数 def isNullOrWhiteSpace
我是 python 新手,想找到 C# string.IsNullOrWhiteSpace 的等效项在Python中。通过有限的网络搜索,我创建了以下函数 def isNullOrWhiteSpace
我正在尝试使用 IQueryable 表达式执行以下操作: (from Person p in s select new { label = p.FirstName
.Net 4 中是否定义了 IsNullOrWhiteSpace 的扩展方法? 之前用过这个扩展方法,但是找不到,开始怀疑当时是不是自己在用自定义扩展,没有意识到。 最佳答案 您可能有对 WebGre
我正在尝试为 String 类创建额外的功能(IsNullOrWhitespace 与 .NET4 中一样)但我在引用时遇到问题: Error 1 'String' is an ambiguous r
我遇到了一个奇怪的案例,其中一段代码旨在从 MSFT Azure Phrase Breaker 处理一段文本后清除空白字符串、句点破折号等。我可以借助帮助来弄清楚如何调试问题。 当给定 "" 值时,以
我正在尝试在我的 .Net 3.5 (C#) 项目中使用 Contracts。我发现我在哪里写了类似的东西方法的开始。 我可以将它们留在那里并使用遗留契约(Contract)。我可以将其更改为 Con
在 Visual Studio 2015 中工作,我对以下效果进行了条件检查: if(String.IsNullOrWhiteSpace(stringToTest)) 我看到了一个 IDE001 qu
这个问题在这里已经有了答案: string.IsNullOrEmpty(string) vs. string.IsNullOrWhiteSpace(string) (10 个答案) 关闭 4 年前。
我知道这是一个非常容易手动检查的事情,但是在 C++ 中是否有一种开箱即用的推荐方法来检查 std::string 是空的还是只包含空白字符? 如果标准库没有这个,还有其他库吗? 最佳答案 最简单的答
在 .NET 4.0 及更高版本中存在 string.IsNullOrWhiteSpace(string) 时,在检查字符串时使用 string.IsNullOrEmpty(string) 是否被视为
string.IsNullOrEmpty(myString.Trim()) 与 string.IsNullOrWhiteSpace(myString) 哪个更快或更可靠,为什么? 最佳答案 如果 my
我有以下代码契约(Contract): public void F(string x) { Contract.Requires(!string.IsNullOrWhiteSpace(x));
我是一名优秀的程序员,十分优秀!