C#中Sting.Empty与""

来源:互联网 发布:macbook 破解软件 编辑:程序博客网 时间:2024/04/30 16:02

这两个在一般情况下是相等的,但是系统处理机制上却有所不同。
    ""会在内存里划一块长度为0的存储空间,而String.Empty内存并不为它分配空间,所以无论性能还是速度上String.Empty都优于""。
    对于一个string类型的变量a,你会用哪种方式判断它为空,一般有以下三种:
    a == ""
    a == String.Empty
    a.length == 0
    那么,你会用哪种方式判断?老外文章中指出效率上 3 > 2 > 1,也就是a.length == 0 > a == String.Empty > a == ""。
    那么,结论是,赋空字符串请用String.Empty(NULL不能输出,Empty可以输出),判断空字符串请用length。