C#中怎么判断字符串为空的几种方法
2013-02-25 21:31
337 查看
1. 三种常用的字符串判空串方法:
Length法:bool isEmpty = (str.Length == 0);
Empty法:bool isEmpty = (str == String.Empty);
General法:bool isEmpty = (str == "");
2. 深入内部机制:
要探讨这三种方法的内部机制,我们得首先看看.NET是怎样实现的,也就是要看看.NET的源代码!然而,我们哪里找这些源代码呢?我们同样有三种方法:
Rotor法:一个不错的选择就是微软的Rotor,这是微软的一个源代码共享项目。
Mono法:另一个不错的选择当然就是真正的开源项目Mono啦!
Reflector法:最后一个选择就是使用反编译器,不过这种重组的代码不一定就是原貌,只不过是一种“近似值”,你可以考虑使用Reflector这个反编译器[1]。
这里我采用Reflector法,我们先来看看一下源代码[2](片段):
Length法:bool isEmpty = (str.Length == 0);
Empty法:bool isEmpty = (str == String.Empty);
General法:bool isEmpty = (str == "");
2. 深入内部机制:
要探讨这三种方法的内部机制,我们得首先看看.NET是怎样实现的,也就是要看看.NET的源代码!然而,我们哪里找这些源代码呢?我们同样有三种方法:
Rotor法:一个不错的选择就是微软的Rotor,这是微软的一个源代码共享项目。
Mono法:另一个不错的选择当然就是真正的开源项目Mono啦!
Reflector法:最后一个选择就是使用反编译器,不过这种重组的代码不一定就是原貌,只不过是一种“近似值”,你可以考虑使用Reflector这个反编译器[1]。
这里我采用Reflector法,我们先来看看一下源代码[2](片段):
public sealed class String : IComparable, ICloneable, IConvertible, IEnumerable, IComparable<string> ...{ static String() ...{ string.Empty = ""; // Code here } // Code here public static readonly string Empty; public static bool operator ==(string a, string b) ...{ return string.Equals(a, b); } public static bool Equals(string a, string b) ...{ if (a == b) ...{ return true; } if ((a != null) && (b != null)) ...{ return string.EqualsHelper(a, b); } return false; } private static unsafe bool EqualsHelper(string ao, string bo) ...{ // Code here int num1 = ao.Length; if (num1 != bo.Length) ...{ return false; } // Code here } private extern int InternalLength(); public int Length ...{ get ...{ return this.InternalLength(); } } // Code here }
相关文章推荐
- C#中判断字符串为空的几种方法的比较
- C# 判断字符串为空有哪几种方法
- C#判断字符串为空的几种方法和效率判断
- C# 判断字符串为空的几种方法 之优略选择
- [转]c#中Split等分割字符串的几种方法
- C#中分割字符串的几种方法
- C#(IsNumeric) 字符串转换为数字的几种方法
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- c#中分割字符串的几种方法
- C# 关于判断字符串为空的一些方法
- c#中Split等分割字符串的几种方法
- C#删除字符串最后一个字符的几种方法
- c#中Split分割字符串的几种方法
- 【转载】c#中分割字符串的几种方法
- Java中判断字符串是否是有效数字的几种方法
- java中判断字符串是否为数字的方法的几种方法
- c#使用Split分割字符串的几种方法
- java中判断字符串是否为数字的方法的几种方法
- c#中分割字符串的几种方法
- c#中Split等分割字符串的几种方法(转)