C# 字串(String)
在 C# 中,您可以使用字元陣列來表示字串,但是,更常見的做法是使用 string 關鍵字來宣告一個字串變數。 string 關鍵字是 System.String 類別的別名。
建立String 物件
您可以使用下列方法之一來穿件string 物件:
透過給String 變數指定字串
透過使用String 類別建構子
透過使用字串聯運算子( + )
透過檢索屬性或呼叫一個傳回字串的方法
透過格式化方法來轉換一個值或物件為它的字串表示形式
下面的實例示範了這一點:
using System; namespace StringApplication { class Program { static void Main(string[] args) { //字符串,字符串连接 string fname, lname; fname = "Rowan"; lname = "Atkinson"; string fullname = fname + lname; Console.WriteLine("Full Name: {0}", fullname); //通过使用 string 构造函数 char[] letters = { 'H', 'e', 'l', 'l','o' }; string greetings = new string(letters); Console.WriteLine("Greetings: {0}", greetings); //方法返回字符串 string[] sarray = { "Hello", "From", "Tutorials", "Point" }; string message = String.Join(" ", sarray); Console.WriteLine("Message: {0}", message); //用于转化值的格式化方法 DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1); string chat = String.Format("Message sent at {0:t} on {0:D}", waiting); Console.WriteLine("Message: {0}", chat); Console.ReadKey() ; } } }
當上面的程式碼被編譯執行時,它會產生下列結果:
Full Name: Rowan Atkinson Greetings: Hello Message: Hello From Tutorials Point Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
String 類別的屬性
String 類別有以下兩個屬性:
序號
屬性名稱& 描述
中取得 Char 對象的指定位置。 2 Length在目前的 String 物件中取得字元數。
String 類別有許多方法用於 string 物件的操作。下面的表格提供了一些最常用的方法:
序號
方法名稱& 描述
1 public static int Compare( string strA, string strB ) public static int Compare( string strA, string strB )表示它們在排列順序中相對位置的整數。此方法區分大小寫。
2 public static int Compare( string strA, string strB, bool ignoreCase )
比較兩個指定的 string 對象,並傳回一個表示它們在排列順序中相對位置的整數。但是,如果布林參數為真時,則該方法不區分大小寫。
3 public static string Concat( string str0, string str1 )
4 public static string Concat( string str0, string str1, string str2 )
5 public static string Concat( string str0, string str1, string str2, string str3 )
6 public bool Contains( string value )
7 public static string Copy( string str )
8 public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
9 public bool EndsWith( string value )
10 public bool Equals( string value )
11 public static bool Equals( string a, string b )
12 public static string Format( string format, Object arg0 )
13 public int IndexOf( char value )
14 public int IndexOf( string value )
15 public int IndexOf( char value, int startIndex )
16 public int IndexOf( string value, int startIndex )
17 public int IndexOfAny( char[] anyOf )
返回某一个指定的 Unicode 字符数组中任意字符在该实例中第一次出现的索引,索引从 0 开始。
18 public int IndexOfAny( char[] anyOf, int startIndex )
返回某一个指定的 Unicode 字符数组中任意字符从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
19 public string Insert( int startIndex, string value )
返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。
20 public static bool IsNullOrEmpty( string value )
指示指定的字符串是否为 null 或者是否为一个空的字符串。
21 public static string Join( string separator, params string[] value )
连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。
22 public static string Join( string separator, string[] value, int startIndex, int count )
链接一个字符串数组中的指定元素,使用指定的分隔符分隔每个元素。
23 public int LastIndexOf( char value )
返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。
24 public int LastIndexOf( string value )
返回指定字符串在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。
25 public string Remove( int startIndex )
移除当前实例中的所有字符,从指定位置开始,一直到最后一个位置为止,并返回字符串。
26 public string Remove( int startIndex, int count )
从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。
27 public string Replace( char oldChar, char newChar )
把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。
28 public string Replace( string oldValue, string newValue )
把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。
29 public string[] Split( params char[] separator )
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。
30 public string[] Split( char[] separator, int count )
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。
31 public bool StartsWith( string value )
判断字符串实例的开头是否匹配指定的字符串。
32 public char[] ToCharArray()
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。
33 public char[] ToCharArray( int startIndex, int length )
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。
34 public string ToLower()
把字符串转换为小写并返回。
35 public string ToUpper()
把字符串转换为大写并返回。
36 public string Trim()
移除当前 String 对象中的所有前导空白字符和后置空白字符。
上面的方法列表并不详尽,请访问 MSDN 库,查看完整的方法列表和 String 类构造函数。
实例
下面的实例演示了上面提到的一些方法:
比较字符串
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str1 = "This is test"; string str2 = "This is text"; if (String.Compare(str1, str2) == 0) { Console.WriteLine(str1 + " and " + str2 + " are equal."); } else { Console.WriteLine(str1 + " and " + str2 + " are not equal."); } Console.ReadKey() ; } } }
当上面的代码被编译和执行时,它会产生下列结果:
This is test and This is text are not equal.
字符串包含字符串:
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str = "This is test"; if (str.Contains("test")) { Console.WriteLine("The sequence 'test' was found."); } Console.ReadKey() ; } } }
当上面的代码被编译和执行时,它会产生下列结果:
The sequence 'test' was found.
获取子字符串:
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string str = "Last night I dreamt of San Pedro"; Console.WriteLine(str); string substr = str.Substring(23); Console.WriteLine(substr); } Console.ReadKey() ; } }
当上面的代码被编译和执行时,它会产生下列结果:
San Pedro
连接字符串:
using System; namespace StringApplication { class StringProg { static void Main(string[] args) { string[] starray = new string[]{"Down the way nights are dark", "And the sun shines daily on the mountain top", "I took a trip on a sailing ship", "And when I reached Jamaica", "I made a stop"}; string str = String.Join("\n", starray); Console.WriteLine(str); } Console.ReadKey() ; } }
当上面的代码被编译和执行时,它会产生下列结果:
Down the way nights are dark And the sun shines daily on the mountain top I took a trip on a sailing ship And when I reached Jamaica I made a stop
以上就是【c#教程】C# 字符串(String)的内容,更多相关内容请关注PHP中文网(www.php.cn)!