.net string 类初探

.net类是我们日常在.net编程下的一个应用非常广泛的编程类,掌握该类有助于我们写出优质高效的程序来。
1.
string 是.NET下面一个CLR内置支持的类型,是一个基元类。
声明一个字符串string a ; 其实在clr中生成的代码是:string a = new system.string();只是由于该类是系统内置支持的类空间,所以可以简写成string a,类似的类空间还有int等。
2.
string 类刚开始进行初始化时,最好写成,string a = string.empty;而不是 string a = "";在框架设计和.net设计规范中均要求写成前一种写法。
3.
string 变量一旦声明,即就是只读的,不能改变,任何对该字符串进行toupper,tolower等等各种操作都是在建立在新的对象之上的,只不过将新的对象引用到了原来的旧的引用上。要想按程序员自己的想法动态生成字符串对象则必须使用stringbuiler对象,可惜这个对象的控制方法少了点。
4.
微软为了提高 string 类的性能,在我们声明一个字符串常量时,在为对象分配内存,进行初始化同时,在内部建立一个散列表,该表是个二维结构,键值为字符串本身,引用指向内存中字符串的内存地址。这样以来,当我们在比较两个字符串常量时,系统便没有必要去内存地址中去寻找我们的目标,之后进行字符串中每个字符的逐一比较。而是首先在该散列表中进行查找,这样极大的提高了字符串进行比较的速度,这种技术称为“字符串驻留”技术。我们日常中经常应用的switch/case语句,就是应用这一技术,极大的提高了程序的运行速度。

你可能感兴趣的:(String)