C#判断空字符串的三种方法

3种方法分别是:

string a="";

1.if(a=="")

2.if(a==String.Empty)

3.if(a.Length==0)

3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题。

建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test )

WebForm1.aspx

private void Page_Load(object sender, System.EventArgs e)  {   string a="";   for(int i=0;i<=1000000;i++)   {    if(a=="")    {    }   }  }

WebForm2.aspx

private void Page_Load(object sender, System.EventArgs e)  {   string a="";   for(int i=0;i<=1000000;i++)   {    if(a==String.Empty)    {

}   }  }

WebForm3.aspx

private void Page_Load(object sender, System.EventArgs e)  {   string a="";   for(int i=0;i<=1000000;i++)   {    if(a.Length==0)    {    }   }  }

在Microsoft Application Center Test 下建立3个压力测试项目:

测试结果:

WebForm1.aspx----------if(a=="")
WebForm2.aspx-------if(a==String.Empty)
WebForm3.aspx-------if(a.Length==0)

所以3种方法量化的结果是98,105,168:

方法 结果

if(a=="") 98

if(a==String.Empty) 105

if(a.Length==0) 168

那么为什么if(a.Length==0)最快呢?

因为整数判断等于最快,没有经过实例化等复杂的过程。

所以:建议大家判断字符串是否为空用 if(a.Length==0)。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, string
, 空字符串
, application
, 方法
, aspx
, 空字符
空字符串判断
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2025-01-20 11:20:06

C#判断空字符串的三种方法的相关文章

C#中判断空字符串的3种方法性能分析

性能|字符串 3种方法分别是:string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0) 3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题. 建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test ) WebForm1.aspxprivate void Page_Load(object sender, System.Event

.NET深入学习笔记(2):C#中判断空字符串的4种方法性能比较与分析

写的一篇关于字符串为空判断方法的性能分析文章,实验结果作者已经给出,结论是使用.length==0判断的效率最高,但是文章的结尾只有一句话,感觉不够详细,所以自己写下这个文章,算一个补充和学习吧. 程序代码执行的硬件环境: CPU Intel T2300 1.66GHz 内存 Kingston DDR2 667 1G 硬盘 80G 5400转 8m 测试的软件环境: OS Windows XP Pro IDE VS 2008 RTM 测试的代码如下: 定义了3个变量,分别调用4种方法,进行100

asp.ent(C#)中判断空字符串的3种方法以及性能分析_实用技巧

3种方法分别是: string a=""; 1.if(a=="") 2.if(a==String.Empty) 3.if(a.Length==0) 3种方法都是等效的,那么究竟那一种方法性能最高呢?本人用实验说明问题. 建立3个aspx页面(为什么用网页,主要是利用Microsoft Application Center Test ) WebForm1.aspx 复制代码 代码如下: private void Page_Load(object sender, Sys

动态改变EnterpriseLibary数据库访问链接字符串的三种方法

使用EnterpriseLibary做数据库访问底层是我一贯的做法,除了其能兼容多种数据库,且使用其进行数据库访问,对各种数据库操作均是透明的,基本不需要对特定的数据库进行操作,编写一次操作代码,基本在各种数据库都适用.对于一些特殊的数据库,很多同行已经编写出各种各样的扩展类库,直接适用即可. 言归正传,动态改变EnterpriseLibary数据库访问链接字符串一般在使用Access数据库.Sqlite数据库等文件式的数据库比较常见,因为我们不知道客户会把程序拷贝到哪里进行使用(即使是做了安装

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:SQL Server2005杂谈(3):四个排名函数(row_number.rank.dense_rank和ntile)的比较 最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和. 如有一个表t_table,结构和数据如图1                                           图1     其中要按着xh字段分组,并且将每一组na

SQL Server2005杂谈(2):按列连接字符串的三种方法

本文为原创,如需转载,请注明作者和出处,谢谢! 最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和. 如有一个表t_table,结构和数据如图1                                           图1     其中要按着xh字段分组,并且将每一组name字段值连接起来.最终结果希望如图2所示              图2 表中的th字段值对于每一个xh值是唯一的,也是有限的,也就是

再谈DOS批处理下格式化日期字符串的三种方法(详解)_DOS/BAT

谈到日期字符串的输出,真是让人烦. 在Linux下,简单的一句话:date '+%Y%m%d-%H%M%S'就可以得到你要的输出:20120331-064219 可是在windows下,要想得到这个,还是需要费点功夫的. 1. 直接用字符串格式化输出 比如,如果你的机器上时间的输出是这样子的: c:\>echo %date%-%time% 2012-03-31 星期六- 6:44:02.50 那么,要想得到输出20120331- 64402,可以这样截取字符串: c:\>echo %date:

ASP.NET中把对象序列化成JSON字符串的三种方法

//方法1 //using System.Runtime.Serialization.Json; //using System.IO; //using System.Text; //using System.Text.RegularExpressions; DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(arr.GetType()); MemoryStream ms = new MemorySt

C++中访问字符串的三种方法总结_C 语言

1.用字符数组存放一个字符串 程序1:定义一个字符数组并初始化,然后输出其中的字符串. 复制代码 代码如下: #include<iostream>using namespace std;int main(){ char str[]="I lvoe China!"; cout<<str<<endl; return 0;} 输出结果: 复制代码 代码如下: I love China! str是字符数组名,它代表数组首元素的地址,输出str的时候,从str