首页 > 编程 > C# > 正文

C#中的字符串类应用详解

2023-05-09 18:58:29
字体:
来源:转载
供稿:网友

导读:本文详细介绍了字符串类中常见函数的使用方法。

在C#语言中,string 类型是引用类型,其表示零或更多个Unicode 字符组成的序列。string 是 .NET Framework 中 String 的别名。其定义方法如下:

string  s1="";//这是一个空字符串

string s2="hello,everyone!"; //非空字符串

可以使用"+"把两个字符串连接起来。如:

string s3="中国"+"  北京";

则s3存储的内容为:

中国  北京

如果,我们想得到字符串中的每个字符,可以像操作数组那样草作字符串,如下例,将输出每个字符的ASCII码值:

using System;
       class class1
       {
             static void Main()
             {
                   string sArr="Student";
                   ushort ascii;
                   for(int i=0;i<sArr.Length;i++)
                   {
                          ascii = sArr[i];
                          Console.WriteLine("字符{0}的ASCII码为:{1}",sArr[i],ascii);
                    }
               }
         }

其输出结果为:

字符串类 - KingLong - 武林网—KingLongs Blog

在这个程序中,我们用到了字符串对象的一个属性Length,它的作用是保存字符串的长度,即字符串中字符的个数(当然包括空ge在内的其他所有字符在内),它也是字符串对象的惟一一个属性。同时,字符串对象还有自己的一些方法,常用的方法有下面几个:

(1)Trim(),该方法把字符串两端的空ge去掉,如:

         string str1 = "   I am a student!    ";
                string str2 = str1.Trim();

则str2种的内容为:"I am a student!",而其开始位置和最后位置的空ge已经没有了,字符串中的空ge仍在。str1中的内容不会受影响。

(2)ToUpper(),该方法把字符串中的所有小写字符变成大写。如:

        string s1 = "Student";
               string s2 = s1.ToUpper();

则,s2="STUDENT",s1中的内容不受影响。

(3)ToLower(),该方法把字符串中的所有大写字符转变为小写。如:

        string s1 = "StuDent";
               string s2 = s1.ToLower();

则,s2 = "student",而s1中的内容不受影响。

(4)SubString()方法,该方法返回一个子串,使用方法如下:

        string s="Student";
               string s1 = s.SubString(1,2), s2 = s.SubString(2);

则s1="tu",而s2="udent"。SubString(开始位置,子串长度),其指定从原字符串的第几个字符开始返回子串,字串包含几个字符。如s1=s.SubString(1,2),指定从第二个字符开始返回,截取的子串长度为2。注意:其下标是从零开始的。所以第一个参数"1"实际上是第二个字符。SubString(开始位置)是从开始位置截取到原字符串的最后,所以s2="udent"。

(5)Replace(string oldValue,string newValue)和Replace(char oldChar,char newChar)

该方法是用指定的字符串newValue替换字符串中的oldValue字符串,或使用字符newChar替换里面oldChar字符。如:

       string s = "ha,I'm a student from Qiqihar";
               string s1 = s.Replace("ha","HA");
               string s2 = s.Replace('a','D');

则s1="HA,I'm a student from QiqiHAr",s2="hD,I'm D student from QiqihDr"。

(6)IndexOf(),返回子串的位置。如:

        string s = "Studentssdfdent";
                int id1 = s.IndexOf("den");
                int id2 = s.IndexOf("den",7);
                int id3 = s.IndexOf("den",7,3);

则id1=3,即有多个匹配时,只返回第一个遇到的子串位置;

id2=11,返回的第二个字串的位置,7是指定的搜索开始位置;

id3=-1,代表没有找到匹配的子串,它搜索的范围是7~7+3 -1,即7~9,在此范围内,没有满足条件的子串。

(7)Equals()判断两个字符串(或对象)是否相等(相同),如:

        string s="student",s1="Student",s2="student";
                Console.WriteLine(s.Equals(s1));
                Console.WriteLine(s.Equals(s2));

则输出:False
                     True

尽管 string 是引用类型,我们仍可以使用运算符(== 和 !=)来进行比较两个字符串是否相等,如上面的例子可以使用如下的输出:

         Console.WriteLine(s==s1);
                 Console.WriteLine(s==s2);

输出结果是一样的。而使用这种方法,显得更直观,易理解。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表