7. C#字符串

        在 C# 中,string(或 String)关键字是 System.String 类的别名,其中提供了定义字符串以及操作字符串的一系列方法。

1、声明和初始化字符串

        我们可以使用以下方式来创建字符串:

  • 为 String 类型的变量赋值一个字符串;
  • 使用 String 类的构造函数;
  • 使用字符串串联运算符 +
  • 通过检索属性或调用返回字符串的方法;
  • 通过调用格式化方法将值或对象转换为其字符串表示形式;
// 使用字符串为字符串变量赋值
string name = "helloworld";

// 声明一个字符串并初始化
string str1 = "welcome:" + name;
Console.WriteLine("str1 的值为:" + str1);

// 使用 System.String.Empty 定义一个空字符串
string str2 = System.String.Empty;
Console.WriteLine("str2 的值为:" + str2);

// 使用 System.String 类
System.String url = "http://www.baidu.com";
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 message = new String(letters);
Console.WriteLine("message 的值为:" + message);

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 str1 = "http://www.baidu.com";
string str2 = "www.baidu.com";
if (String.Compare(str1, str2) == 0) {
    Console.WriteLine(str1 + " 与 " + str2 + " 相同");
} else {
    Console.WriteLine(str1 + " 与 " + str2 + " 不同");
}

// 判断一个字符串是否包含在另一个字符串中:
if (str1.Contains(str2)) {
    Console.WriteLine(str1 + " 中包含 " + str2);
}else{
    Console.WriteLine(str1 + " 中不包含 " + str2);
}

// 从一个字符串中截取指定长度的字符串:
string substr = str1.Substring(7);

// 将数组中的元素合并为字符串:
string[] strarray = new string[]{
    "百度一下",
    "http://www.baidu.com",
    "C# 教程"
};
string str = String.Join(" ", strarray); // 百度一下 http://www.baidu.com C# 教程
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值