如何判断字符串是否为空串?[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 allenlooplee 的 blog

如何判断字符串是否为空串?

 

writen by allen lee

 

0. 缘起:

本文写作缘起于阮的讨论——《fxcop告诉我,检查一个字符串是否为空要用string.length。》。其实用过fxcop的人都知道它会建议你使用string.length属性来判断字符串是否为空串,但你又是否明白其中的缘由呢?今天有点闲,特意写下这篇文章,希望有点帮助。

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](片段):

public sealed class string : icomparable, icloneable, iconvertible, ienumerable, icomparable<string>
{
    
static string()

本文关键:如何判断字符串是否为空串?
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top