首页 > 分享 > 判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str==“”;b、str==String.Empty;c、str.Length==0;?请问原因是什么??

判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str==“”;b、str==String.Empty;c、str.Length==0;?请问原因是什么??

[Quote=引用 9 楼 smntbk 的回复:]
TestCode

C# codestatic void juge()
{
string str = "csdn";
System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
st.Start();
for (int i = 0; i < 100000000; i++)
{


if (str == "")
{ }
}
st.Stop();
Console.WriteLine("str == '' : "+st.…
[/Quote]

↑不好意思,以上答案是错误的,判定为空正确最快应该是方法C,如上面几楼所说,判定整型是最快的。关于这个实验这位弟兄你有没有发现每次最后那个值是最大的。其实st.ElapsedMilliseconds是在累加...如果对我说的有所怀疑,你可在相同系统运行环境下调试这段代码三次,只要你改变一下输出的先后顺序,你就会发现str.Length==0的判定时间大概只有另外两种的五分之一,甚至更少。
以上所述本人也做过和你相近的测试,在本机上运行多次后方法A和B所花时间都在1000~1100左右,但是方法C的时间只有210~230。
所有楼主的问题1答案应该为方法C。问题2本人只可以说,具体情况要具体分析,按楼主所说的按字面上理解是对的。

相关知识

咨询一下删除字符串的解释str=str.replace(/(&
字符串常用方法
字符串相关问题
1.字符串详解
Mysql查询条件判断是否包含字符串的方法实现
Python变量和数据类型Number、String、转义字符、字符串格式化
移动应用开发之安卓计算器的实现
字符串(C# 编程指南)
shell 字符串分割与连接
求下列代码中字符串对象res的值 NSString * str=@”wuxi v

网址: 判断字符串变量str是否为空的一下三种方法哪个性能更优:a、str==“”;b、str==String.Empty;c、str.Length==0;?请问原因是什么?? https://m.huajiangbk.com/newsview1101482.html

所属分类:花卉
上一篇: 判断一个对象是否会被垃圾回收器回
下一篇: if 与 == 与 === 与