检查字符串内容? 字符串长度与空字符串
哪种编译器效率更高,检查字符串是否为空的最佳做法?
另外,答案是否依赖于语言?
是的,这取决于语言,因为字符串存储在不同语言之间不同。
Length = 0
。 [0] == 0
。 .IsNullOrEmpty
。 等等。
在使用C风格(以空字符结尾)字符串的语言中,与""
比较会更快。 这是一个O(1)操作,而采用C风格字符串的长度是O(n)。
在存储长度作为字符串对象(C#,Java,...)的一部分的语言中,检查长度也是O(1)。 在这种情况下,直接检查长度会更快,因为它避免了构建新空字符串的开销。
在.Net中:
string.IsNullOrEmpty( nystr );
字符串可以为空,所以.Length有时会抛出NullReferenceException
链接地址: http://www.djcxy.com/p/4721.html上一篇: Checking for string contents? string Length Vs Empty String