VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之C#教程之C#字符串。

本站最新发布   C#从入门到精通
试听地址  
https://www.xin3721.com/eschool/CSharpxin3721/

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);
        }
    }
复制代码

相关教程