1.null和“”的区别。
string s1 = null;
string s2 = "";
虽然都说明是字符串类型,但是前者是空对象,没有指向任何引用地址。调用字符串的方法会出现空引用异常。而后者是一个字长度为0的字符串,分配了内存空间。可以调用字符串的方法。
2.StringBuilder和string类的区别。
如下图:我们可以看到字符串每次内容发生改变,都会产生新的对象。而stringbuilder只对自身对象进行操作而不会产生过多的临时对象。
string s1 = null;
string s2 = "";
虽然都说明是字符串类型,但是前者是空对象,没有指向任何引用地址。调用字符串的方法会出现空引用异常。而后者是一个字长度为0的字符串,分配了内存空间。可以调用字符串的方法。
如下图:我们可以看到字符串每次内容发生改变,都会产生新的对象。而stringbuilder只对自身对象进行操作而不会产生过多的临时对象。