C#字符串操作:string与StringBuilder详解

需积分: 16 13 下载量 13 浏览量 更新于2024-11-17 收藏 48KB DOC 举报
“C# 字符串常用方法” 在C#编程语言中,字符串(string)是极其重要的数据类型,用于处理文本。本文将详细介绍C#中字符串的两种主要表示方式以及常用的字符串操作方法。 一、string关键字与StringBuilder类 C#中的字符串是通过`string`关键字声明的,它本质上是一个不可变的字符数组。这意味着当你对一个已声明的字符串进行任何修改,如添加、删除或替换字符,都会创建一个新的字符串对象,而不是在原地修改。例如: ```csharp string s = "Hello, World!"; ``` 由于这种不可变性,频繁的字符串操作会导致性能下降,因为每次操作都会创建新的对象。为了解决这个问题,C#引入了`System.Text.StringBuilder`类。`StringBuilder`提供了一个可变的字符串缓冲区,允许在不创建新对象的情况下进行字符串连接和其他操作。以下是一个使用`StringBuilder`的例子: ```csharp System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("one "); sb.Append("two "); sb.Append("three"); string str = sb.ToString(); ``` 二、字符串使用 1、转义字符“\” 在C#字符串中,反斜杠 `\` 是转义字符,用于表示特殊字符,如`\n`表示换行,`\t`表示制表符。若要插入一个实际的反斜杠,需要写成`\\`。 2、“@”符号 `@`符号被称为verbatim(原始)字符串字面量。它告诉编译器不处理任何转义序列,也不会在意字符串中的换行。例如: ```csharp string p1 = "\\\\MyDocuments\\MyFiles\\"; string p2 = @"\\MyDocuments\MyFiles\"; ``` 在这两个例子中,`p1`和`p2`都表示同一个路径,尽管在`p2`中我们没有使用转义字符。 3、ToString() 所有继承自`Object`类的对象,包括字符串,都有`ToString()`方法,它用于将对象转换为字符串形式。例如,我们可以将整数转换为字符串: ```csharp int year = 1999; string msg = "Evewasbornin" + year.ToString(); System.Console.WriteLine(msg); // outputs "Evewasbornin1999" ``` `ToString()`方法还可以接受格式参数来控制输出的形式。例如,日期和时间的格式化: ```csharp System.DateTime now = System.DateTime.Now; string formattedTime = now.ToString("yyyy-MM-dd HH:mm:ss.fff"); // outputs "2009-03-11 18:05:16.345" // "MM": 月份为2位数字 ``` 理解和熟练运用这些C#字符串的方法对于编写高效且可读性强的代码至关重要。无论是简单的文本处理还是复杂的格式化输出,掌握这些基础知识都能让开发者在编码过程中更加得心应手。