摘要:
现将博客搬迁至csdn 阅读全文
摘要:
System.Type类这里使用Type类只为了存储类型的引用:Type t = typeof(double);我们以前把Type看作一个类,但它实际上是一个抽象的基类。只要实例化了一个Type对象,实际上就实例化了Type的一个派生类。尽管一般情况下派生类只提供各种Type方法和属性的不同重载,但... 阅读全文
摘要:
字典表示一种非常复杂的数据结构,这种数据结构允许按照某个键来访问元素。字典也称为映射或散列表。字典的主要特性是能根据键快速查找值。也可以自由添加和删除元素,这有点像LisK》类,但没有在内存中移动后续元素的性能开销。图是字典的一个简化表示。其中employee_id。键的类型用作字典中键的类型必须重... 阅读全文
摘要:
.NET Framework为动态列表提供了泛型类List。这个类实现了IList、ICollection、IEnumerable、IList、ICollection 和IEnumerable接口。创建列表调用默认的构造函数,就可以创建列表对象。在泛型类List中,必须为声明为列表的值指定类型.Ar... 阅读全文
摘要:
自C#3.0开始,就可以使用一种新语法把实现代码赋予委托:Lambda表达式。只要有委托参数类型的地方,就可以使用Lambda表达式class Program{ static void Main() { string mid = ",middle part,"; Funlambda ... 阅读全文
摘要:
委托是寻址方法的.NET版 本。在C++中,函数指针只不过是一个指向内存位置的指针,它不 是类型安全的。我们无法判断这个指针实际指向什么,像参数和返回类型等项就更无从知晓了。 而,NET委托完全不同,委托是类型安全的类,它定义了返回类型和参数的类型。委托类不仅包含对 方法的引用,也可以包含对多个方法... 阅读全文
摘要:
泛型接口使用泛型可以定义接口,在按口中定义的方法可以带泛型参数。在链表的示例中,就实现了IEnunmble接口,它定义了GetEnumeratorO方法,以返回IEnummtor。.NET为不同的情况提供了许多泛型接口,例如ICompamble、ICollection和ExtensibleObjec... 阅读全文
摘要:
泛型并不是一个全新的结构,其他语言中有类似的概念。例如,C++模板就与泛型相似。但是,c++模板和.NET泛型之间有一个很大的区别。对于C++模板只在用特定的类型实例化模板时,需要模板的源代码。相反,泛型不仅是C#语言的一种结构,而且是CLR定义的。所以,即使泛型类是在唧中定义的,也可以在Ⅵsual... 阅读全文
摘要:
继承的类型在面向对象的编程中,有两种截然不同的继承类型:实现继承和接口继承。 实现继承:表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数。在实现继承中,派生类型采用基类型的每个函数的实现代码,除非在派生类型的定义中指定重写某个函数的实现代码。在需要给现有的类型添加功能,或许多相关... 阅读全文
摘要:
前面提到,所有的.NET类都派生自system.object 实际上,如果在定义类时没有指定基类,编译器就会自动假定这个类派生自object。对于结构,这个派生是间孝的:结构总是派生自system.ValueType,systm.ValueType又派生自system.object。其实际意义在于,... 阅读全文