[原创]蓝驿笔记 —ASP.Net CSharp 笔记2 事件、字符串、继承和多态 [续2]

1.索引函数

2.This关键字

用于指代一个变量,仅限于在类的非静态方法成员中使用,包括类的构造函数、非静态方法、属性、索引函数一及事件。This的含义为:

*)在类的构造函数中出现时,它表示正在构造的对象本身;

*)在类的方法成员中出现时 ,它表示调用该方法成员的对象。

3.事件

C#的事件处理模型中,某个事件发生后,对象通过该事件的代表(delegate)调用适当的事情处理代码,此时代表充当了产生事件的对象余处理事件的方法之间的“中间人”

在System程序集中定义了一个名为EventArgs的类,用类封装事件中所包含的数据;此外还定义了一个名为EventHandler的delegate对象,用来作为所有事件的代便,启原型为:

Public delegate void EventHandler(object sender, EventArgs e);

其中的参数sender表示发生事情的对象,而e表示事情中包含的数据。

4.字符串类型

Public string(char,int) 将一个字符重复多次来形成一个字符串;

Public string(char[]) 将一个字符数组全部转换为一个字符串;

Public string(char[],int,int) 将一个字符数组的一部分转换为一个字符串。第二个和第三个参数分别表示数组中转换部分的起始位置和长度。

示例: string 属于引用类型

String str1=new string(‘c’,3); //str1=”ccc”

Char[] chs=new char[] {‘’c,’a’,’t’,’o’,’o’,’n’};

String str2=new string(chs);//str2=”catoon”;

String str3=new string(chs,0,3);//str3=”cat”

String str=”Microsoft”;

Char a=str[0];

String类的ToCharArray方法和CopyTo方法

Char[] chs1=str.ToCharArray();

Char[] chs2=str.ToCharArray(5,4);

CopyTo

Public void CopyTO(int,char[],int,int);

Public int IndexOf(char) 在整个字符串中查找指定的字符;

Public int IndexOf(char,int) 在字符串的指定位置开始查找指定的字符;

Public int IndexOf(char,int,int) 在字符产的指定位置开始,在指定的长度内查找之指定的字符。

IndexOf返回位置,没有找到返回-1;LastIndexOf方法的重载形式和用法都与IndexOf方法类似。另外IndexOfAny和LastIndexOfAny提供更强大的字符查找功能。他们所接受的参数不是一个字符数组,方法返回的值是数组中任何一个字符载字符串第一次和最后一次出现的位置。

IndexOf(字符串的操作etc);

Substring(int)、Substring(int,int)

Remove(int)、Remove(int,int)

Insert(index,字符串);

字符串的格式化

字符替换Replace、字符填充PadLeft和PadRight、字符修剪Trim()he Trim(char[])、参数格式化。解析字符串:ToString方法的过程正好相反,从一个字符串出发来构造许多其他类型对象。C#很多类型都定义了解析字符串的方法,这些方法共同特点是:

方法名称是Parse;

方法为静态方法,返回类型就是定义该方法的类型;

方法只有一个类型为String的参数。

5.StringBuilder类

由于String类是引用类型,在进行连接和调用PadRight等方法时候都生成了新的字符串,而后将当前对象的引用指向新字符串,所以每次字符串的连接等操作在内存中就是字符串的拷贝。

StringBuilder类所属命名空间System.Text

提供3个方法Append、AppendFormat和AppendLine都用于在字符串的尾端追加新内容。

Append 在字符串尾追加一个新串,参数可以是String和各种树枝类型以及Object类型。

AppendLine 在字符串末端追加一个换行符;

AppendLine(string) 在字符串尾追加一个新串和一个换行符。

6.继承和多态

隐藏基类的成员

希望在某些字段中存储不同的信息、在某些方法中执行不同的操作等。这时就需要通过new关键字来隐藏基类中的成员。

例:public new void Output()

This关键字用来访问当前对象,而base关键字则可以访问当前对象的基类对象,进而调用基类对象的成员。

父类

Public vritual void Output()

子类

Public override void Output()