Hay*_*dar 14 language-agnostic compiler-construction string optimization
哪个更有效的编译器和检查字符串是否为空的最佳实践?
此外,答案是否取决于语言?
Stu*_*Stu 17
是的,这取决于语言,因为字符串存储在语言之间有所不同.
Length = 0.[0] == 0..IsNullOrEmpty.等等.
Der*_*ark 14
在使用C风格(以null结尾)字符串的语言中,比较""会更快.这是一个O(1)操作,而采用C风格字符串的长度是O(n).
在将长度存储为字符串对象(C#,Java,...)的一部分的语言中,检查长度也是O(1).在这种情况下,直接检查长度更快,因为它避免了构造新空字符串的开销.