C#基础之string与StringBuilder

string

1.string是一个引用类型,但使用起来像值类型

string str1 = "123";
string str2 = str1;
str2 = "456";
Console.WriteLine(str2);

2.string 的特点

A:字符串的不可变性

String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。

如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。StringBuilder 运行速度听说是string 200倍。

B:字符串的留用

C:注意“+”号的应用,拼接字符串,如果“+”号两边有准确的值,是不影响性能的,如果是不确定的,这种情况下就造成了资源浪费。要避免不确定字符串相加

D:字符串池--对直接字符串来说

3.string 的函数

Public method Supported by the .NET Compact Framework
Clone
返回对此 String 实例的引用。

Public method Static Supported by the .NET Compact Framework
Compare
已重载。 比较两个指定的 String 对象。

Public method Static
CompareOrdinal
已重载。 通过计算每个字符串中相应 Char 对象的数值来比较两个 String 对象。

Public method
CompareTo
已重载。 将此实例与指定的对象或 String 进行比较,并返回二者相对值的指示。

Public method Static Supported by the .NET Compact Framework
Concat
已重载。 连接 String 的一个或多个实例,或 Object 的一个或多个实例的值的 String 表示形式。

Public method
Contains
返回一个值,该值指示指定的 String 对象是否出现在此字符串中。

Public method Static Supported by the .NET Compact Framework
Copy
创建一个与指定的 String 具有相同值的 String 的新实例。

Public method Supported by the .NET Compact Framework
CopyTo
将指定数目的字符从此实例中的指定位置复制到 Unicode 字符数组中的指定位置。

Public method Supported by the .NET Compact Framework
EndsWith
已重载。 确定 String 的实例的末尾是否与指定的字符串匹配。

Public method Supported by the .NET Compact Framework
Equals
已重载。 已重写。 确定两个 String 对象是否具有相同的值。

Public method Static Supported by the .NET Compact Framework
Format
已重载。 将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。

Public method
GetEnumerator
检索一个可以循环访问此字符串中的每个字符的对象。

Public method Supported by the .NET Compact Framework
GetHashCode
已重写。 返回该字符串的哈希代码。

Public method Supported by the .NET Compact Framework
GetType
获取当前实例的 Type。 (从 Object 继承。)

Public method Supported by the .NET Compact Framework
GetTypeCode
返回类 StringTypeCode

Public method Supported by the .NET Compact Framework
IndexOf
已重载。 报告 String 或一个或多个字符在此字符串中的第一个匹配项的索引。

Public method Supported by the .NET Compact Framework
IndexOfAny
已重载。 报告指定 Unicode 字符数组中的任意字符在此实例中第一个匹配项的索引。

Public method Supported by the .NET Compact Framework
Insert
在此实例中的指定索引位置插入一个指定的 String 实例。

Public method Static Supported by the .NET Compact Framework
Intern
检索系统对指定 String 的引用。

Public method Static Supported by the .NET Compact Framework
IsInterned
检索对指定 String 的引用。

Public method
IsNormalized
已重载。 指示此字符串是否符合特定的 Unicode 范式。

Public method Static Supported by the .NET Compact Framework
IsNullOrEmpty
指示指定的 String 对象是 空引用(在 Visual Basic 中为 Nothing) 还是 Empty 字符串。

Public method Static Supported by the .NET Compact Framework
Join
已重载。 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。

Public method Supported by the .NET Compact Framework
LastIndexOf
已重载。 报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。

Public method Supported by the .NET Compact Framework
LastIndexOfAny
已重载。 报告在 Unicode 数组中指定的一个或多个字符在此实例中的最后一个匹配项的索引位置。

Public method
Normalize
已重载。 返回一个新字符串,其二进制表示形式符合特定的 Unicode 范式。

Public method Static Supported by the .NET Compact Framework
op_Equality
确定两个指定的 String 对象是否具有同一值。

Public method Static Supported by the .NET Compact Framework
op_Inequality
确定两个指定的 String 对象是否具有不同的值。

Public method Supported by the .NET Compact Framework
PadLeft
已重载。 右对齐此实例中的字符,在左边用空格或指定的 Unicode 字符填充以达到指定的总长度。

Public method Supported by the .NET Compact Framework
PadRight
已重载。 左对齐此字符串中的字符,在右边用空格或指定的 Unicode 字符填充以达到指定的总长度。

Public method Static Supported by the .NET Compact Framework
ReferenceEquals
确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

Public method Supported by the .NET Compact Framework
Remove
已重载。 从此实例中删除指定个数的字符。

Public method Supported by the .NET Compact Framework
Replace
已重载。 将此实例中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String

Public method Supported by the .NET Compact Framework
Split
已重载。 返回包含此实例中的子字符串(由指定 CharString 数组的元素分隔)的 String 数组。

Public method Supported by the .NET Compact Framework
StartsWith
已重载。 确定 String 实例的开头是否与指定的字符串匹配。

Public method Supported by the .NET Compact Framework
Substring
已重载。 从此实例检索子字符串。

Public method Supported by the .NET Compact Framework
ToCharArray
已重载。 将此实例中的字符复制到 Unicode 字符数组。

Public method Supported by the .NET Compact Framework
ToLower
已重载。 返回此 String 转换为小写形式的副本。

Public method
ToLowerInvariant
返回此 String 对象的转换为小写形式的副本,返回时使用固定区域性的大小写规则。

Public method Supported by the .NET Compact Framework
ToString
已重载。 已重写。 将此实例的值转换为 String

Public method Supported by the .NET Compact Framework
ToUpper
已重载。 返回此 String 转换为大写形式的副本。

Public method Supported by the .NET Compact Framework
ToUpperInvariant
返回此 String 对象的转换为大写形式的副本,返回时使用固定区域性的大小写规则。

Public method Supported by the .NET Compact Framework
Trim
已重载。 从此实例的开始位置和末尾移除一组指定字符的所有匹配项。

Public method Supported by the .NET Compact Framework
TrimEnd
从此实例的结尾移除数组中指定的一组字符的所有匹配项。

Public method Supported by the .NET Compact Framework
TrimStart
从此实例的开始位置移除数组中指定的一组字符的所有匹配项。

StringBuilder

StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,可以为它可容纳的最大字符数指定一个值。

StringBuilder内部维护着一个Char类型的数组

StringBuilder sb = new StringBuilder();
sb.Append("123");
sb.ToString();

StringBuild的函数


Append

已重载。 在此实例的结尾追加指定对象的字符串表示形式。

Public method Supported by the .NET Compact Framework
AppendFormat
已重载。 向此实例追加包含零个或更多格式规范的格式化字符串。每个格式规范由相应对象参数的字符串表示形式替换。

Public method
AppendLine
已重载。 将默认的行终止符(或指定字符串的副本和默认的行终止符)追加到此实例的末尾。

Public method
CopyTo
将此实例的指定段中的字符复制到目标 Char 数组的指定段中。

Public method Supported by the .NET Compact Framework
EnsureCapacity
确保 StringBuilder 的此实例的容量至少是指定值。

Public method Supported by the .NET Compact Framework
Equals
已重载。 返回一个值,该值指示此实例是否与指定的对象相等。

Public method Supported by the .NET Compact Framework
GetHashCode
用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。)

Public method Supported by the .NET Compact Framework
GetType
获取当前实例的 Type。 (从 Object 继承。)

Public method Supported by the .NET Compact Framework
Insert
已重载。 将指定对象的字符串表示形式插入到此实例中的指定字符位置。

Public method Static Supported by the .NET Compact Framework
ReferenceEquals
确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)

Public method Supported by the .NET Compact Framework
Remove
将指定范围的字符从此实例中移除。

Public method Supported by the .NET Compact Framework
Replace
已重载。 将此实例中所有的指定字符或字符串替换为其他的指定字符或字符串。

Public method Supported by the .NET Compact Framework
ToString
已重载。 已重写。 将 StringBuilder 的值转换为 String

下面是从网上找到的具体的几个方法的应用实例:

(1)Append 方法可用来将文本或对象的字符串表示形式添加到由当前 StringBuilder 对象表示的字符串的结尾处。以下示例将一个 StringBuilder 对象初始化为“Hello World”,然后将一些文本追加到该对象的结尾处。将根据需要自动分配空间。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Append(" What a beautiful day.");
Console.WriteLine(MyStringBuilder);
此示例将 Hello World! What a beautiful day. 显示到控制台。

(2)AppendFormat 方法将文本添加到 StringBuilder 的结尾处,而且实现了 IFormattable 接口,因此可接受格式化部分中描述的标准格式字符串。可以使用此方法来自定义变量的格式并将这些值追加到 StringBuilder 的后面。以下示例使用 AppendFormat 方法将一个设置为货币值格式的整数值放置到 StringBuilder 的结尾。
int MyInt = 25;
StringBuilder MyStringBuilder = new StringBuilder("Your total is ");
MyStringBuilder.AppendFormat("{0:C} ", MyInt);
Console.WriteLine(MyStringBuilder);
此示例将 Your total is $25.00 显示到控制台。

(3)Insert 方法将字符串或对象添加到当前 StringBuilder 中的指定位置。以下示例使用此方法将一个单词插入到 StringBuilder 的第六个位置。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Insert(6,"Beautiful ");
Console.WriteLine(MyStringBuilder);
此示例将 Hello Beautiful World! 显示到控制台。

(4)可以使用 Remove 方法从当前 StringBuilder 中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。以下示例使用 Remove 方法缩短 StringBuilder。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Remove(5,7);
Console.WriteLine(MyStringBuilder);
此示例将 Hello 显示到控制台。

(5)使用 Replace 方法,可以用另一个指定的字符来替换 StringBuilder 对象内的字符。以下示例使用 Replace 方法来搜索 StringBuilder 对象,查找所有的感叹号字符 (!),并用问号字符 (?) 来替换它们。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Replace('!', '?');

转载请注名:小`曲 @ CSDN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值