string 是什么

[复制链接]
查看11 | 回复0 | 2007-12-19 11:29:48 | 显示全部楼层 |阅读模式
表示文本,即一系列 Unicode 字符。下表列出了由 String 类型公开的成员。公共构造函数 名称说明
String已重载。初始化 String 类的新实例。 页首公共字段 名称说明
Empty表示空字符串。此字段为只读。 页首公共属性 名称说明
Chars获取此实例中位于指定字符位置的字符。
Length获取此实例中的字符数。 页首公共方法 名称说明
Clone返回对此 String 实例的引用。
Compare已重载。 比较两个指定的 String 对象。
CompareOrdinal已重载。 通过计算每个字符串中相应 Char 对象的数值来比较两个 String 对象。
CompareTo已重载。 将此实例与指定的对象或 String 进行比较,并返回二者相对值的指示。
Concat已重载。 连接 String 的一个或多个实例,或 Object 的一个或多个实例的值的 String 表示形式。
Contains返回一个值,该值指示指定的 String 对象是否出现在此字符串中。
Copy创建一个与指定的 String 具有相同值的 String 的新实例。
CopyTo将指定数目的字符从此实例中的指定位置复制到 Unicode 字符数组中的指定位置。
EndsWith已重载。 确定 String 的实例的末尾是否与指定的字符串匹配。
Equals已重载。 已重写。 确定两个 String 对象是否具有相同的值。
Format已重载。 将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。
GetEnumerator检索一个可以循环访问此字符串中的每个字符的对象。
GetHashCode已重写。 返回该字符串的哈希代码。
GetType 获取当前实例的 Type。 (从 Object 继承。)
GetTypeCode返回类 String 的 TypeCode。
IndexOf已重载。 报告 String 或一个或多个字符在此字符串中的第一个匹配项的索引。
IndexOfAny已重载。 报告指定 Unicode 字符数组中的任意字符在此实例中第一个匹配项的索引。
Insert在此实例中的指定索引位置插入一个指定的 String 实例。
Intern检索系统对指定 String 的引用。
IsInterned检索对指定 String 的引用。
IsNormalized已重载。 指示此字符串是否符合特定的 Unicode 范式。
IsNullOrEmpty指示指定的 String 对象是空引用(在 Visual Basic 中为 Nothing) 还是 Empty 字符串。
Join已重载。 在指定 String 数组的每个元素之间串联指定的分隔符 String,从而产生单个串联的字符串。
LastIndexOf已重载。 报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。
LastIndexOfAny已重载。 报告在 Unicode 数组中指定的一个或多个字符在此实例中的最后一个匹配项的索引位置。
Normalize已重载。 返回一个新字符串,其二进制表示形式符合特定的 Unicode 范式。
op_Equality确定两个指定的 String 对象是否具有同一值。
op_Inequality确定两个指定的 String 对象是否具有不同的值。
PadLeft已重载。 右对齐此实例中的字符,在左边用空格或指定的 Unicode 字符填充以达到指定的总长度。
PadRight已重载。 左对齐此字符串中的字符,在右边用空格或指定的 Unicode 字符填充以达到指定的总长度。
ReferenceEquals 确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。)
Remove已重载。 从此实例中删除指定个数的字符。
Replace已重载。 将此实例中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String。
Split已重载。 返回包含此实例中的子字符串(由指定 Char 或 String 数组的元素分隔)的 String 数组。
StartsWith已重载。 确定 String 实例的开头是否与指定的字符串匹配。
Substring已重载。 从此实例检索子字符串。
ToCharArray已重载。 将此实例中的字符复制到 Unicode 字符数组。
ToLower已重载。 返回此 String 转换为小写形式的副本。
ToLowerInvariant返回此 String 对象的转换为小写形式的副本,返回时使用固定区域性的大小写规则。
ToString已重载。 已重写。 将此实例的值转换为 String。
ToUpper已重载。 返回此 String 转换为大写形式的副本。
ToUpperInvariant返回此 String 对象的转换为大写形式的副本,返回时使用固定区域性的大小写规则。
Trim已重载。 从此实例的开始位置和末尾移除一组指定字符的所有匹配项。
TrimEnd从此实例的结尾移除数组中指定的一组字符的所有匹配项。
TrimStart从此实例的开始位置移除数组中指定的一组字符的所有匹配项。页首显式接口实现 名称说明
System.Collections.Generic.IEnumerable.GetEnumerator
System.Collections.IEnumerable.GetEnumerator有关此成员的说明,请参见 IEnumerable.GetEnumerator。
System.IConvertible.ToBoolean将当前 String 对象的值转换成布尔值。
System.IConvertible.ToByte将当前 String 对象的值转换为 8 位无符号整数。
System.IConvertible.ToChar将长度为 1 的非空字符串转换为 Char 对象。
System.IConvertible.ToDateTime将当前 String 对象的值转换为日期和时间。
System.IConvertible.ToDecimal将当前 String 对象的值转换为十进制数。
System.IConvertible.ToDouble将当前 String 对象的值转换为双精度浮点数字。
System.IConvertible.ToInt16将当前 String 对象的值转换为 16 位有符号整数。
System.IConvertible.ToInt32将当前 String 对象的值转换为 32 位有符号整数。
System.IConvertible.ToInt64将当前 String 对象的值转换为 64 位有符号整数。
System.IConvertible.ToSByte将当前 String 对象的值转换为 8 位有符号整数。
System.IConvertible.ToSingle将当前 String 对象的值转换为单精度浮点数字。
System.IConvertible.ToType将当前 String 对象的值转换为指定类型的对象。
System.IConvertible.ToUInt16将当前 String 对象的值转换为 16 位无符号整数。
System.IConvertible.ToUInt32将当前 String 对象的值转换为 32 位无符号整数。
System.IConvertible.ToUInt64将当前 String 对象的值转换为 64 位无符号整数。命名空间:System程序集:mscorlib(在 mscorlib.dll 中)语法Visual Basic(声明)_ _Public NotInheritable Class String Implements IComparable, ICloneable, IConvertible, IComparable(Of String), _ IEnumerable(Of String), IEnumerable, IEquatable(Of String) Visual Basic(用法) Dim instance As StringC# [SerializableAttribute] [ComVisibleAttribute(true)] public sealed class String : IComparable, ICloneable, IConvertible,IComparable, IEnumerable, IEnumerable,IEquatable C++ [SerializableAttribute] [ComVisibleAttribute(true)] public ref class String sealed : IComparable, ICloneable, IConvertible,IComparable, IEnumerable, IEnumerable,IEquatable J# /** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ public final class String implements IComparable, ICloneable,IConvertible, IComparable, IEnumerable,IEnumerable, IEquatable JScript SerializableAttribute ComVisibleAttribute(true) public final class String implements IComparable, ICloneable,IConvertible, IComparable, IEnumerable,IEnumerable, IEquatable备注字符串是 Unicode 字符的有序集合,用于表示文本。String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不可变的。String 对象称为不可变的(只读),因为一旦创建了该对象,就不能修改该对象的值。看来似乎修改了 String 对象的方法实际上是返回一个包含修改内容的新 String 对象。如果需要修改字符串对象的实际内容,请使用 System.Text.StringBuilder 类。字符串中的每个 Unicode 字符都是由 Unicode 标量值定义的,Unicode 标量值也称为 Unicode 码位或者 Unicode 字符的序号(数字)值。每个码位都是使用 UTF-16 编码进行编码的,编码的每个元素的数值都用一个 Char 对象表示。 一个 Char 对象通常表示一个码位,即:Char 的数值等于该码位。但是,一个码位可能需要多个编码元素。例如,Unicode 辅助码位(代理项对)使用两个 Char 对象来编码。索引索引是 Char 对象在 String 中的位置,而不是 Unicode 字符的位置。索引是从零开始、从字符串的起始位置(其索引为零)计起的非负数字。连续的索引值可能并不与连续的 Unicode 字符相对应,这是因为一个 Unicode 字符可能会编码为多个 Char 对象。若要使用每个 Unicode 字符而不是每个 Char 对象,请使用 System.Globalization.StringInfo 类。序号运算和区分区域性的运算String 类的成员对 String 对象执行序号运算或语义运算。序号运算是对每个 Char 对象的数值执行的。语义运算则对考虑了特定于区域性的大小写、排序、格式化和语法分析规则的 String 的值执行。语义运算在显式声明的区域性或者隐式当前区域性的上下文中执行。有关当前区域性的更多信息,请参见 CultureInfo.CurrentCulture 主题。大小写规则决定如何更改 Unicode 字符的大小写,例如,从小写变为大写。格式化规则决定如何将值转换为它的字符串表示形式,而语法分析规则则确定如何将字符串表示形式转换为值。排序规则确定 Unicode 字符的字母顺序,以及两个字符串如何互相比较。例如,Compare 方法执行语义比较,而 CompareOrdinal 方法执行序号比较。因此,如果当前的区域性为美国英语,则 Compare 方法认为“a”小于“A”,而 CompareOrdinal 方法会认为“a”大于“A”。.NET Framework 支持单词、字符串和序号排序规则。单词排序会执行区分区域性的字符串比较,在这种比较中,某些非字母数字 Unicode 字符可能会具有特殊的权重。例如,连字符(“-”)的权重非常小,因此“coop”和“co-op”在排序列表中是紧挨着出现的。字符串排序与单词排序相似,只是所有非字母数字符号均排在所有字母数字 Unicode 字符前面,没有特例。 区分区域性的比较是显式或隐式使用 CultureInfo 对象的任何比较,包括由 CultureInfo.InvariantCulture 属性指定的固定区域性。当前隐式区域性由 Thread.CurrentCulture 属性指定。序号排序基于字符串中每个 Char 对象的数值对字符串进行比较。序号比较自动区分大小写,因为字符的小写和大写版本有着不同的码位。但是,如果大小写在应用程序中并不重要,则可以指定忽略大小写的序号比较。这等效于使用固定区域性将字符串转换成大写,然后对结果执行序号比较。 有关单词、字符串和序号排序规则的更多信息,请参见 System.Globalization.CompareOptions 主题。区分区域性的比较通常适用于排序,而序号比较则不适合。序号比较通常适用于确定两个字符串是否相等(即,确定标识),而区分区域性的比较则不适用。比较和搜索方法的“备注”指定方法是区分大小写、区分区域性还是两者区分。根据定义,任何字符串(包括空字符串 (""))的比较结果都大于空引用;两个空引用的比较结果为相等。规范化某些 Unicode 字符具有多个等效的二进制表示形式,这些表示形式中包含几组组合的和/或复合的 Unicode 字符。Unicode 标准定义了一个称为规范化的过程,此过程将一个字符的任何一种等价二进制表示形式转换为统一的二进制表示形式。可使用多种遵循不同规则的算法执行规范化,这些算法也称为范式。.NET Framework 当前支持范式 C、D、KC 和 KD。通常用序号比较来评估一对规范化的字符串。安全注意事项如果应用程序进行有关符号标识符(如文件名或命名管道)或持久数据(如 XML 文件中基于文本的数据)的安全决策,则该操作应该使用序号比较而不是区分区域性的比较。这是因为根据起作用的区域性的不同,区分区域性的比较可产生不同的结果,而序号比较则仅依赖于所比较字符的二进制值。功能String 类提供的成员执行以下操作:比较 String 对象;返回 String 对象内字符或字符串的索引;复制 String 对象的值;分隔字符串或组合字符串;修改字符串的值;将数字、日期和时间或枚举值的格式设置为字符串;对字符串进行规范化。使用 Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith 方法进行比较。 使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可获取字符串中子字符串或 Unicode 字符的索引。 使用 Copy 和 CopyTo 可将字符串或子字符串复制到另一个字符串或 Char 类型的数组。使用 Substring 和 Split 方法可通过原始字符串的组成部分创建一个或多个新字符串;使用 Concat 和 Join 方法可通过一个或多个子字符串创建新字符串。 使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart 可修改字符串的全部或部分。使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant 方法可更改字符串中 Unicode 字符的大小写。 使用 Format, 可将字符串中的一个或多个格式项占位符替换为一个或多个数字、日期和时间或枚举值的文本表示形式。 使用 Length 属性可获取字符串中 Char 对象的数量;使用 Chars 属性可访问字符串中实际的 Char 对象。使用 IsNormalized 方法可测试某个字符串是否已规范化为特定的范式。使用 Normalize 方法可创建规范化为特定范式的字符串。实现的接口String 类分别用于实现 IComparable、ICloneable、IConvertible、IEnumerable 和 IComparable 接口。使用 Convert 类进行转换,而不是使用此类型的 IConvertible 显式接口成员实现。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行