C# String:字符串
在 C# 中,string(或 String)关键字是 System.String 类的别名,其中提供了定义字符串以及操作字符串的一系列方法,下面就来详细介绍一下。
下面通过一个示例来演示一下:
上表中只列举了一些 String 类中常用方法,大家可以通过查阅 C# 的官方文档来了解 String 类中的全部的方法介绍。
下面通过一些示例来演示一下 String 类中方法的使用。
【示例】比较两个字符串是否相同:
1、声明和初始化字符串
您可以使用以下方式来创建字符串- 为 String 类型的变量赋值一个字符串;
- 使用 String 类的构造函数;
-
使用字符串串联运算符
+
; - 通过检索属性或调用返回字符串的方法;
- 通过调用格式化方法将值或对象转换为其字符串表示形式。
下面通过一个示例来演示一下:
using System; namespace c.biancheng.net { class Demo { static void Main(string[] args) { // 使用常规字符串为字符串变量赋值 string name = "C语言中文网"; // 声明一个字符串并初始化为空 string str1 = "欢迎访问:" + name; Console.WriteLine("str1 的值为:" + str1); // 使用 System.String.Empty 定义一个空字符串 string str2 = System.String.Empty; Console.WriteLine("str2 的值为:" + str2); // 使用 System.String 类 System.String url = "http://c.biancheng.net";; Console.WriteLine("url 的值为:" + url); // 在局部变量中(即在方法体中)可以使用 var 来代替具体数据类型来定义变量 var temp = "C#教程"; Console.WriteLine("temp 的值为:" + temp); // 定义一个常量字符串 const string str3 = "这是一个常量字符串"; Console.WriteLine("str3 的值为:" + str3); // 使用字符串构造函数定义字符串 char[] letters = { 'H', 'e', 'l', 'l', 'o' }; // string[] letters = { "C","语","言"}; string message = new string(letters); Console.WriteLine("message 的值为:" + message); } } }运行结果如下:
str1 的值为:欢迎访问:C语言中文网
str2 的值为:
url 的值为:http://c.biancheng.net
temp 的值为:C#教程
str3 的值为:这是一个常量字符串
message 的值为:Hello
2、String 类中的属性
String 类中提供了两个属性,如下表所示:属性 | 描述 |
---|---|
Chars[Int32] | 获取指定字符在字符串中的位置 |
Length | 获取当前 String 对象中的字符数(字符串的长度) |
3、String 类中的方法
String 类中提供了许多用来操作字符串的方法,下表中为大家列举了 String 类中一些比较常用的方法:方法 | 描述 |
---|---|
Clone() | 返回对此 String 实例的引用 |
Compare(String, String) | 比较两个指定的 String 对象,并返回一个指示二者在排序顺序中的相对位置的整数 |
CompareOrdinal(String, String) | 通过比较每个字符串中的字符,来比较两个字符串是否相等 |
CompareTo(String) | 将一个字符串与另一个字符串进行比较 |
Concat(String, String) | 连接两个指定的字符串 |
Contains(String) | 判断一个字符串中是否包含零一个字符串 |
Copy(String) | 将字符串的值复制一份,并赋值给另一个字符串 |
CopyTo(Int32, Char[], Int32, Int32) | 从字符串中复制指定数量的字符到一个字符数组中 |
EndsWith(String) | 用来判断字符串是否以指定的字符串结尾 |
Equals(String, String) | 判断两个字符串是否相等 |
Format(String, Object) | 将字符串格式化为指定的字符串表示形式 |
GetEnumerator() | 返回一个可以循环访问此字符串中的每个字符的对象 |
GetHashCode() | 返回该字符串的哈希代码 |
GetType() | 获取当前实例的类型 |
GetTypeCode() | 返回字符串的类型代码 |
IndexOf(String) | 返回字符在字符串中的首次出现的索引位置,索引从零开始 |
Insert(Int32, String) | 在字符串的指定位置插入另一个字符串,并返回新形成的字符串 |
Intern(String) | 返回指定字符串的内存地址 |
IsInterned(String) | 返回指定字符串的内存地址 |
IsNormalized() | 判断此字符串是否符合 Unicode 标准 |
IsNullOrEmpty(String) | 判断指定的字符串是否为空(null)或空字符串("") |
IsNullOrWhiteSpace(String) | 判断指定的字符串是否为 null、空或仅由空白字符组成 |
Join(String, String[]) | 串联字符串数组中的所有元素,并将每个元素使用指定的分隔符分隔开 |
LastIndexOf(Char) | 获取某个字符在字符串中最后一次出现的位置 |
LastIndexOfAny(Char[]) | 获取一个或多个字符在字符串中最后一次出现的位置 |
Normalize() | 返回一个新字符串,新字符串与原字符串的值相等,但其二进制表示形式符合 Unicode 标准 |
PadLeft(Int32) | 返回一个指定长度的新字符串,新字符串通过在原字符串左侧填充空格来达到指定的长度,从而实现右对齐 |
PadRight(Int32) | 返回一个指定长度的新字符串,新字符串通过在原字符串右侧填充空格来达到指定的长度,从而实现左对齐 |
Remove(Int32) | 返回一个指定长度的新字符串,将字符串中超出长度以外的部分全部删除 |
Replace(String, String) | 使用指定字符替换字符串中的某个字符,并返回新形成的字符串 |
Split(Char[]) | 按照某个分隔符将一个字符串拆分成一个字符串数组 |
StartsWith(String) | 判断字符串是否使用指定的字符串开头 |
Substring(Int32) | 从指定的位置截取字符串 |
ToCharArray() | 将字符串中的字符复制到 Unicode 字符数组 |
ToLower() | 将字符串中的字母转换为小写的形式 |
ToLowerInvariant() | 使用固定区域性的大小写规则将字符串转换为小写的形式 |
ToString() | 将其它数据类型转换为字符串类型 |
ToUpper() | 将字符串中的字母转换为大写形式 |
Trim() | 删除字符串首尾的空白字符 |
TrimEnd(Char[]) | 删除字符串尾部的空白字符 |
TrimStart(Char[]) | 删除字符串首部的空白字符 |
上表中只列举了一些 String 类中常用方法,大家可以通过查阅 C# 的官方文档来了解 String 类中的全部的方法介绍。
下面通过一些示例来演示一下 String 类中方法的使用。
【示例】比较两个字符串是否相同:
using System; namespace c.biancheng.net { class Demo { static void Main(string[] args) { string str1 = "http://c.biancheng.net/"; string str2 = "c.biancheng.net"; if (String.Compare(str1, str2) == 0) { Console.WriteLine(str1 + " 与 " + str2 + " 相同"); } else { Console.WriteLine(str1 + " 与 " + str2 + " 不同"); } Console.ReadKey(); } } }运行结果如下:
http://c.biancheng.net/ 与 c.biancheng.net 不同
【示例】判断一个字符串是否包含在另一个字符串中:using System; namespace c.biancheng.net { class Demo { static void Main(string[] args) { string str1 = "http://c.biancheng.net/"; string str2 = "biancheng"; if (str1.Contains(str2)) { Console.WriteLine(str1 + " 中包含 " + str2); }else{ Console.WriteLine(str1 + " 中不包含 " + str2); } Console.ReadKey() ; } } }运行结果如下:
http://c.biancheng.net/ 中包含 biancheng
【示例】从一个字符串中截取指定长度的字符串:using System; namespace c.biancheng.net { class Demo { static void Main(string[] args) { string str = "http://c.biancheng.net/"; Console.WriteLine("原字符串:" + str); string substr = str.Substring(7); Console.WriteLine("截取之后的字符串:" + substr); } } }运行结果如下:
原字符串:http://c.biancheng.net/
截取之后的字符串:c.biancheng.net/
using System; namespace c.biancheng.net { class Demo { static void Main(string[] args) { string[] strarray = new string[]{ "C语言中文网", "http://c.biancheng.net/", "C# 教程" }; string str = String.Join(" ", strarray); Console.WriteLine(str); } } }运行结果如下:
C语言中文网 http://c.biancheng.net/ C# 教程