1.c/c++每个字符串都以字符’\0’结尾,声明成char*需要多分配一个字节给’\0’;声明成string则不需要,string的长度不包含’\0’
    2.c/c++把常量字符串放到单独的一个内存区域。当几个指针赋值给相同的常量字符串时,它们实际上会指向相同的内存地址。
    3.c#中String的特殊性质:

    1. String str = "hello";
    2. str.ToUpper();
    3. str.Insert(0, "WORLD");

    改变String生成一个新的实例并返回,但原String并没有改变。
    ——连续修改多次,使用StringBuilder

    赋值为一个常量字符串,会先生成一个内容为改常量字符串的String实例,然后指向这个实例