c#基础学习杂记(二)

1。C#中结构体可以用new在栈里分配结构体空间,也可以直接声明变量就算分配空间,如

struct Point {int x; int y}

Point pt1 = new Point();

Point pt2;

这两种方式的区别是,用new会将Point中的字段初始化为0,而不用new则不会,在使用前还需要初始化变量,C#规定变量初始化以后才能使用。

 

2。方法中new修饰符强制派生类中的方法隐藏父类的方法。如:

class B {

     public virtual void foo() { }

}

class D : B {

     public override void foo(){ }

}

class N : D {

     public new void foo() { }

}

 

3 。在.NET Framework Class Library中大概有7000多个类型,包括结构体,类,接口,枚举以及委托。这些类型包含在大概100多个命名空间中。包括:

1).IO(File and String)

包括: BinaryReader, BinaryWriter, BufferedStream, Directory, DirectoryInfo, Path, File, FileInfo, FileStream, FileSystemInfo, MemoryStream, Stream, StreamWrite, StreamReader, TextReader, TextWriter, IOException,以及System.Net.Sockets中的类

2).Collection(Hash Tables and Dynamic Arrays)

包括: HashTable, ArrayList等

3). Regular Exception

4).Internet Classes(HttpWebRequest,

HttpWebResponse,System.WebMail)

包括:Cookie, CookieClloction, Dns, FileWebQuest, FileWebResponse等

5).Data(DataReaders, DataSets,DataAdapters)

包括:Connection, Command, DataReader, DataSet, DataAdapter等

6).Reflection 

 

4.C#中结构不支持继承,即它不能派生于其他类或结构,也不能被其他类或结构继承,但它可以继承多个接口。例外的是结构总是默认派生于System.ValueType。


 

 

posted @ 2008-09-08 23:43  江湖飘  阅读(319)  评论(0编辑  收藏  举报