1."" 与string.Empty在用法与性能上基本没区别。string.Empty是在语法级别对””的优化。
都是把值放在堆上一个空间里,会在栈上保存一个堆的地址(占4字节)
例:string str1=””;
string str2=””;
str1与str2的引用会是相同的也就是str1与str2在栈上保存的地址上相同的。
2.那就是string.Empty会在堆上占用一个长度为0的空间,而null不会。具体内容如下:
string str1=””;
string str2=null;
str2同样会在栈上保存一个地址,这个地址也占4字节,但是这个地址是没有明确指向的,它哪也不指,其内容为0x00000000
转自:http://hi.baidu.com/jaybirdniao/blog/item/4770f3dfd82ff81d485403e1.html