C# 字符串(String)


C# 字符串(String)

C# 中的字符串是一个不可变的序列字符集合。字符串类型的变量可以包含任何字符,包括空格和标点符号。字符串类型在 C# 中被定义为 System.String 类型,它被包含在 System 命名空间中。C# 字符串具有以下特性:

  • 字符串在内存中是不可变的,即创建后就不可以被修改。
  • 字符串支持索引操作和迭代操作。
  • 字符串支持直接比较,大小写敏感。
  • 字符串可以用于拼接和格式化操作。

字符串的创建

在 C# 中可以使用以下方式来创建字符串:

  • 直接将一个字符串字面量赋值给字符串类型的变量,例如:
    string helloWorld = "Hello World!";
  • 使用 System.String 类的构造函数来创建字符串,例如:
    char[] helloChars = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!'};
    string helloWorld = new string(helloChars);

字符串的操作

C# 中的字符串类型提供了许多方法,可用于字符串的操作,例如:

  • Length 属性:返回字符串中字符的数目。
  • IndexOf 方法:返回第一个匹配子字符串的索引。
  • Substring 方法:从字符串中提取子字符串。
  • Replace 方法:替换一个子字符串为另一个字符串。
  • ToUpper 和 ToLower 方法:将字符串转换为大写和小写形式。
  • Trim 方法:移除字符串的开始和/或结尾处的空格和空白字符。
  • Split 方法:将一个字符串分割成一个数组。
  • Concat 方法:连接两个或多个字符串形成一个新的字符串。
  • Format 方法:格式化一个字符串,插入需要的任意信息。

其中,Substring 和 Split 方法返回的是新字符串,原始字符串不受影响。其他方法都是在原始字符串上进行操作。

字符串的比较

在 C# 中,字符串类型是可以直接比较的。比较操作会返回一个布尔值,常用的有以下几种方式:

  • ==:比较两个字符串是否完全相同,区分大小写。
  • !=:比较两个字符串是否不相同,区分大小写。
  • Equals 方法:比较两个字符串的值是否相等,可以指定是否区分大小写。
  • CompareTo 方法:比较两个字符串的大小,返回一个整数。

字符串的格式化

C# 中的字符串格式化允许把一个字符串中的某些部分替换成格式化后的值。常用的替换格式有:

  • {0}:替换为第一个参数。
  • {1}:替换为第二个参数。
  • {2}:替换为第三个参数。

例如:

    string name = "Tom";
    int age = 25;
    Console.WriteLine("{0} is {1} years old.", name, age);

输出:

    Tom is 25 years old.    

总结

C# 中的字符串有许多强大的操作方法,包括字符串的创建、操作、比较和格式化。字符串的不可变性是一大优势,但也要注意某些字符串操作会创建新的字符串,增加内存的使用。在编写 C# 应用程序时,熟练把握字符串的使用是十分必要的。