·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> C#--字符、字符串学习
在.NET Framework
中,每个字符都是System.Char
结构的一个实例。System.Char
类型很简单,提供了两个公共只读常量字段:MinValue
和MaxValue
。
GetNumericValue
方法返回字符的数值形式。
public static void Go() {
Double d;
// 数字3
d = Char.GetNumericValue('\u0033'); // ‘3’ would work too
Console.WriteLine(d.ToString()); // Displays "3"
// 普通分数 四分之一
d = Char.GetNumericValue('\u00bc');
Console.WriteLine(d.ToString()); // Displays "0.25"
// 'A'是大写拉丁字母A
d = Char.GetNumericValue('A');
Console.WriteLine(d.ToString()); // Displays "-1"
}
可以使用三种技术来实现各种数值类型和Char实例的相互转换。下面按照优先顺序
来列出
Convert
类型IConvertible
接口system.String
类型String
类型直接拍绳子Object
,所以是引用类型。因此String
类型总是存在在堆上,永远不会跑到线程栈。提示:
如果想换行或者回车,应该使用Environment.NewLine
方式。
可以使用C#的+
操作符直接将几个字符串连成一个。
最后,C#提供了一种特殊的字符串处理方式,称为逐字字符串
,通常用于指定文件或目录的路径,或者与正则表达式配合使用。
String file= "c:\\Windows\\System32\\Notepad.exe";
//或者
String file = @"c:\Windows\System32\NotePad.exe";
String
对象最重要的一点就是不可变
。也就是说,字符串一经创建就不可以更改。意味着,它允许在一个字符串上执行各种操作,而不实际的更改这个字符串。如果需要频繁的更改字符串,请使用StringBuilder
类。
强烈建议使用Equals
、Compare
等方法,不适用CompareTo
、==
和!=
等操作符。
C#默认不启用字符串留用
使用StringBuilder
类。
StringBuilder sb = new StringBuilder();
有多个构造器,下面解释一些概念
StringBuilder
维护的字符串的长度。如果事先知道要在StringBuilder
中放入多少个字符,那么构造StringBilder
时,应该自己设置容量。字符数组
>一个有char
结构构成的数组,负责维护字符串的字符内容。
public static void Go() {
// Construct a StringBuilder to do string manipulations.
StringBuilder sb = new StringBuilder();
// Perform some string manipulations using the StringBuilder.
sb.AppendFormat("{0} {1}", "Jeffrey", "Richter").Replace(" ", "-");
// Convert the StringBuilder to a String in
// order to uppercase all the characters.
String s = sb.ToString().ToUpper();
// Clear the StringBuilder (allocates a new Char array).
sb.Length = 0;
// Load the uppercase String into the StringBuilder,
// and do more manipulations.
sb.Append(s).Insert(8, "Marc-");
// Convert the StringBuilder back to a String.
s = sb.ToString();
// Display the String to the user.
Console.WriteLine(s); // "JEFFREY-Marc-RICHTER"
}
Microsoft
在FCL中定义的许多类型都能同时识别几种格式。例如,DateTime类型支持用d
标识短日期,用D
标识长日期,用g
标识常规,用M
标识月日,用S
标识排序,用Y
标识年月。
所有内建值类型都支持C
标识货币格式,用D
标识十进制格式,用E
标识科学记数法,用G
标识常规模式,用N
标识数字格式,用P
标识百分数,X
标识十六进制。
能解析字符串的任何类型都提供了公共静态方法Parse。方法获取一个String并获取类型的实例。使用方法很简单
// 调用失败,因为解析的字符串包含空格
Int32 x= Int32.Pares(" 123",NumberStylesNone,null);
字符串作为最常用的对象,使用起来还是没有什么难度。有一些难度的听都没听说过,比如最后的安全字符串
。努力吧。