亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C# 字符串完全指南:创建、属性、常用方法与实战技巧

C# 中可将字符串视为字符数组,但更常用 string 关键字声明字符串变量。string 是 System.String 类的别名。

创建字符串对象

五种常见创建方式:

综合示例

using System;
namespace StringApplication {
    class Program {
        static void Main(string[] args) {
            // 字面量与连接
            string fname = "Rowan", lname = "Atkinson";
            string fullname = fname + lname;
            Console.WriteLine("Full Name: {0}", fullname);  // RowanAtkinson
            
            // 构造函数
            char[] letters = { 'H', 'e', 'l', 'l', 'o' };
            string greetings = new string(letters);
            Console.WriteLine("Greetings: {0}", greetings);  // Hello
            
            // 方法返回字符串
            string[] sarray = { "Hello", "From", "Tutorials", "Point" };
            string message = String.Join(" ", sarray);
            Console.WriteLine("Message: {0}", message);  // Hello From Tutorials Point
            
            // 格式化方法
            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);  // Message sent at 5:58 PM on Wednesday, October 10, 2012
        }
    }
}

String 类属性

序号属性及说明
1Chars:获取指定位置的 Char 对象
2Length:获取当前字符串对象字符数

String 类常用方法(精选 36 个)

序号方法及说明
1Compare(strA, strB):比较两字符串,返回排序位置指示整数
2Compare(strA, strB, ignoreCase):忽略大小写比较
3-5Concat:连接 2/3/4 个字符串
6Contains(value):判断是否包含指定子串
7Copy(str):创建相同值的新字符串
8CopyTo(...):复制字符到 Unicode 字符数组
9EndsWith(value):判断是否以指定字符串结尾
10Equals(value):判断当前字符串与指定字符串值是否相等
11Equals(a, b):静态比较两字符串值
12Format(format, arg0):格式化字符串
13-16IndexOf:查找字符/子串首次出现位置(支持起始索引)
17-18IndexOfAny:查找任意字符数组中字符首次出现位置
19Insert(startIndex, value):在指定位置插入字符串
20IsNullOrEmpty(value):判断是否为 null 或空字符串
21-22Join:用分隔符连接字符串数组元素
23-24LastIndexOf:查找字符/子串最后出现位置
25-26Remove:移除指定位置开始的字符
27Replace(oldChar, newChar):替换所有指定字符
28Replace(oldValue, newValue):替换所有指定子串
29-30Split:按分隔符拆分为子串数组
31StartsWith(value):判断是否以指定字符串开头
32-33ToCharArray:转 Unicode 字符数组
34ToLower():转小写副本
35ToUpper():转大写副本
36Trim():移除首尾空白字符

实战示例

字符串比较

string str1 = "This is test";
string str2 = "This is text";
if (String.Compare(str1, str2) == 0)
    Console.WriteLine("equal");
else
    Console.WriteLine("not equal");  // 输出 not equal

包含检查

string str = "This is test";
if (str.Contains("test"))
    Console.WriteLine("Found");  // 输出 Found

获取子串

string str = "Last night I dreamt of San Pedro";
string substr = str.Substring(23);
Console.WriteLine(substr);  // San Pedro

连接字符串

string[] starray = { "Line1", "Line2", "Line3" };
string str = String.Join("\n", starray);
Console.WriteLine(str);  // 三行输出

性能提示

C语言

  1. C# 类与对象:面向对象编程的基石
  2. 掌握 C# 字符串:基础、操作与进阶技巧完全指南
  3. C++ 字符串函数实战:strcpy、strcat、strlen、strcmp 详解与示例
  4. C 语言字符串完全指南:声明、输入输出与库函数详解
  5. MATLAB 字符串完全指南:创建、拼接、元胞数组与常用函数
  6. Python 字符串操作完全指南:替换、连接、分割、反转、大小写转换
  7. 精通 Java 字符串:创建、方法与最佳实践
  8. Java 单例模式详解:安全实现与使用指南
  9. 精通 Java 枚举字符串表示:默认行为、toString 重写与进阶模式
  10. Java Strings 类:掌握字符串创建与操作
  11. Java 对象序列化:持久化、反序列化与版本演进
  12. Java 8 概览:函数式编程、流式 API 与日期时间新特性