str=="" str.Length==0 str==String.Empty三种方法判断字符串为空,哪一种更快?
来源:互联网 发布:php按月访问量排行 编辑:程序博客网 时间:2024/05/16 18:47
str==""
str.Length==0
str==String.Empty
这是三种用来判断字符串是否为空的方法,那么这三种方法哪一种执行起来更快呢?
为了得出结果,我在vs.net 2005中写了下面这一小段程序来进行判断:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Test
{
public static void Main()
{
string str = "ljdfskldfsklj";
//System.Diagnostics.Stopwatch提供了一组方法和属性,可以准确地测量运行时间
Stopwatch sw;
sw=Stopwatch.StartNew();
if (str == "") ;
Console.WriteLine("str==/"/" 花费/t{0}", sw.Elapsed);
sw = Stopwatch.StartNew();
if (str.Length == 0) ;
Console.WriteLine("str.Length==0 花费/t{0}", sw.Elapsed);
sw = Stopwatch.StartNew();
if (str == String.Empty) ;
Console.WriteLine("str==String.Empty 花费/t{0}", sw.Elapsed);
}
}
}
运行结果如下(结果可能会因不同的软硬件环境而不同,但最终时间顺序是一样的):
str=="" 花费 00:00:00.0000044
str.Length==0 花费 00:00:00.0000027
str==String.Empty 花费 00:00:00.0000036
由结果可以看出str.Length==0所需时间最短,str==String.Empty次之,str==""所需时间最长,效率最低。
- str=="" str.Length==0 str==String.Empty三种方法判断字符串为空,哪一种更快?
- 黑马程序员之修正认知:string、Empty和null三者的正确区别 判断字符串为空str.length==0最快
- 判断字符串非空if(str!=null && str!=""){}
- string str = null 与 string str = “” ,string str=string.Empty
- str=str.replace("<","!");
- C++string str="abc";sizeof(str)
- str==null 与 null == str 判断字符串是否为空的最优化写法
- str == null str.length == 0 "".equals(str)
- str == null str.length == 0 "".equals(str)
- str == null str.length == 0 "".equals(str)
- str == null和str.length == 0 和"".equals(str)之区别
- str==null、str.length==0以及''''.equals(str)之间的区别
- String str = "str"和String str = new String("str")的区别
- 求满足 Str1<Str<Str2 且 0<Str.length <=len 的字符串个数
- 不同环境下的str.getBytes().length!=str.length()全角半角判断的区别
- C# String.Empty, ==,String.IsNullOrEmpty(str)
- str!=null与str!=string.Empty有什么区别
- String str 与 String str=new String("") 区别
- 字符,字节和编码
- 选择google输入法的理由
- 人总是在彷徨中活着
- 2007年4月4日所想
- 各浏览器的JS兼容问题
- str=="" str.Length==0 str==String.Empty三种方法判断字符串为空,哪一种更快?
- .Net 多线程
- 顺序线性表的基本操作算法
- Seam框架学习之一(Seam vs Spring -- state vs stateless)
- 一封自白信(上)
- 让tomcat支持JMX
- BES v 6.5 和WebLogic v 8.1 SP6 作了对比测试
- Asp.net中基于Forms验证的角色验证授权
- 初学oracle时的各种问题和解答1