MSDN -- C#编程指南

1.每次修改 string 类对象都会重新开一个堆空间。如果经常修改 string 类对象,请使用 StringBuilder类。

2.@符号会忽略转义字符。

3.很多对象都会有ToString()方法

4.Length()、ToUpper()、ToLower()

5.Split()方法
    string[] strDes = strObj.Split("分隔符");

6.在字符串中搜索
IndexOf("abc")和LastIndexOf
StartsWithEndsWith

7.正则表达式搜索
要使用类 System.Text.RegularExpressions.Regex
Regex oRegex = new Regex();
bool  a = oRegex.IsMatch("abcdefg",sPattern,RegexOptions.IgnoreCase)

8.StringBuilder联接多个字符串
using System.Text;
//StringBulider类在System.Text命名空间中
StringBuilder sb = new StringBuilder();
sb.Append("One");
sb.Append("Two");
sb.Append("Three");
WriteLine(sb.ToString());

string str = sb.ToString();
WriteLine(str);

9.修改字符串
字符串是不可变的,因此不能修改字符串的内容。但是,可以将字符串的内容提取到非不可变的窗体中,并对其进行修改,以形成新的字符串实例。

string str = "The fox!";
WriteLine(str);
char[] vChars = str.ToCharArray(); //字符串转换为字符数组
int vIndex = str.IndexOf("fox");
if (vIndex !=-1)
{
    vChars[vIndex++]="c";
    vChars[vIndex++]="a";
    vChars[vIndex]="t";
}

string str2 = new string(vChars);//字符数据又转换为字符串
WriteLine(str2);

10.重载运算符
public static Complex operator +(Complex c1, Complex c2)


11.转换运算符
public static explicit operator SampleClass(int i)
显式转换explicit
隐式转换implicit

12.相等比较
引用相等:System.Object.ReferenceEquals(a, b);      ==
值相等:
    默认情况下,运算符 == 通过判断两个引用是否指示同一对象来测试引用是否相等,因此引用类型不需要实现运算符 == 就能获得此功能。通过重载运算符 == 来比较值是否相等而不是比较引用是否相等可能会很有用。
    Equals 是一个虚方法,允许任何类重写其实现,x.Equals(x) 返回 true。

13.对象、类和结构
    结构是值类型,而类是引用类型

14.继承与多态
类可以从其他类中继承。对象可以表示多个类型的能力称为多态性。
(1)abstract    抽象类不能实例化
    抽象类的用途是提供多个派生类可共享的基类的公共定义。
    抽象方法没有实现,所以方法定义后面是分号,而不是常规的方法块。抽象类的派生类必须实现所有抽象方法。当抽象类从基类继承虚方法时,抽象类可以使用抽象方法重写该虚方法。
(2)sealed 密封类
    密封类不能用作基类。因此,它也不能是抽象类。密封类主要用于防止派生。由于密封类从不用作基类,所以有些运行时优化可以使对密封类成员的调用略快。
    在对基类的虚成员进行重写的派生类上的类成员、方法、字段、属性或事件可以将该成员声明为密封成员。在用于以后的派生类时,这将取消成员的虚效果。方法是在类成员声明中将 sealed 关键字置于 override 关键字的前面。











posted on 2007-01-23 15:42  天涯人  阅读(464)  评论(0编辑  收藏  举报

导航