在C#語(yǔ)言中,string 類型是引用類型,其表示零或更多個(gè)Unicode 字符組成的序列。string 是 .NET Framework 中 String 的別名。其定義方法如下:
string s1="";//這是一個(gè)空字符串
string s2="hello,everyone!"; //非空字符串
可以使用"+"把兩個(gè)字符串連接起來(lái)。如:
string s3="中國(guó)"+" 北京";
則s3存儲(chǔ)的內(nèi)容為:
中國(guó) 北京
如果,我們想得到字符串中的每個(gè)字符,可以像操作數(shù)組那樣草作字符串,如下例,將輸出每個(gè)字符的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);
}
}
}
其輸出結(jié)果為:

在這個(gè)程序中,我們用到了字符串對(duì)象的一個(gè)屬性Length,它的作用是保存字符串的長(zhǎng)度,即字符串中字符的個(gè)數(shù)(當(dāng)然包括空ge在內(nèi)的其他所有字符在內(nèi)),它也是字符串對(duì)象的惟一一個(gè)屬性。同時(shí),字符串對(duì)象還有自己的一些方法,常用的方法有下面幾個(gè):
(1)Trim(),該方法把字符串兩端的空ge去掉,如:
string str1 = " I am a student! ";
string str2 = str1.Trim();
則str2種的內(nèi)容為:"I am a student!",而其開(kāi)始位置和最后位置的空ge已經(jīng)沒(méi)有了,字符串中的空ge仍在。str1中的內(nèi)容不會(huì)受影響。
(2)ToUpper(),該方法把字符串中的所有小寫字符變成大寫。如:
string s1 = "Student";
string s2 = s1.ToUpper();
則,s2="STUDENT",s1中的內(nèi)容不受影響。
(3)ToLower(),該方法把字符串中的所有大寫字符轉(zhuǎn)變?yōu)樾憽H纾?/p>
string s1 = "StuDent";
string s2 = s1.ToLower();
則,s2 = "student",而s1中的內(nèi)容不受影響。
(4)Substring()方法,該方法返回一個(gè)子串,使用方法如下:
string s="Student";
string s1 = s.SubString(1,2), s2 = s.SubString(2);
則s1="tu",而s2="udent"。SubString(開(kāi)始位置,子串長(zhǎng)度),其指定從原字符串的第幾個(gè)字符開(kāi)始返回子串,字串包含幾個(gè)字符。如s1=s.SubString(1,2),指定從第二個(gè)字符開(kāi)始返回,截取的子串長(zhǎng)度為2。注意:其下標(biāo)是從零開(kāi)始的。所以第一個(gè)參數(shù)"1"實(shí)際上是第二個(gè)字符。SubString(開(kāi)始位置)是從開(kāi)始位置截取到原字符串的最后,所以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,即有多個(gè)匹配時(shí),只返回第一個(gè)遇到的子串位置;
id2=11,返回的第二個(gè)字串的位置,7是指定的搜索開(kāi)始位置;
id3=-1,代表沒(méi)有找到匹配的子串,它搜索的范圍是7~7+3 -1,即7~9,在此范圍內(nèi),沒(méi)有滿足條件的子串。
(7)Equals()判斷兩個(gè)字符串(或?qū)ο螅┦欠裣嗟龋ㄏ嗤?,如:
string s="student",s1="Student",s2="student";
Console.WriteLine(s.Equals(s1));
Console.WriteLine(s.Equals(s2));
則輸出:False
True
盡管 string 是引用類型,我們?nèi)钥梢允褂眠\(yùn)算符(== 和 !=)來(lái)進(jìn)行比較兩個(gè)字符串是否相等,如上面的例子可以使用如下的輸出:
Console.WriteLine(s==s1);
Console.WriteLine(s==s2);
輸出結(jié)果是一樣的。而使用這種方法,顯得更直觀,易理解。
新聞熱點(diǎn)
疑難解答