欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#字符串。

程序员文章站 2022-04-08 11:49:17
string类型不能被继承,它是密封类,sealed。 一、字符串的特性。 1、不可变性。 2、字符串池。 二、常用方法。 方法不一一写出来了。 tringbuilder的使用。 大量拼接字符串的时候用。效率比string高。使用: ......

string类型不能被继承,它是密封类,sealed

一、字符串的特性。

  1、不可变性。

class program
    {
        static void main(string[] args)
        {
            string str = "hello world!";//一旦创建就不可以被修改。
            str.toupper(); //所以这样不可以改变它。
            string str1 = str.toupper();//但是可以操作它,这是需要变量接受返回值。
            console.writeline(str1);//输出为大写
        }
    }
 class program
    {
        //下面的例子中,虽然输出是abcx但,任然不违背上面的结论。
        static void main(string[] args)
        {
            string str = "abc"; //堆中创建abc
            string str1 = "x";//堆中创建x
            str = str + str1;//堆中创建abcx,然后把abcx的地址赋值给str,而并不是修改abc。
            console.writeline(str);
        }
    }

  2、字符串池。

 class program
    {
       
        static void main(string[] args)
        {
            string s1 = "abc";//先在字符串池中找是否有abc,有就把其地址赋给s1,没有就创建一个。
            string a = "a";
            string b = "b";
            string c = "c";
            string s2 = a + b + c;//a,b,c是三个变量,并不知道具体的值,所以是执行相加的操作,然后创建新的对象。
                                   //并且该对象不会被加载到池里面。
            string s3 = "a" + "b" + "c";// a,b,c是三个具体的值,直接相加后还会向字符串池中找。

        }
    }

二、常用方法。

方法不一一写出来了。

tringbuilder的使用。

  大量拼接字符串的时候用。效率比string高。使用:

class program
    {      
        static void main(string[] args)
        {

            string str = "abcd";
            stringbuilder stringbuilder = new stringbuilder();
            stringbuilder.append(str);
            console.writeline(stringbuilder);
        }
    }