摘要:
using System;using System.Collections;C#中,我们通常可以用foreach语句来遍历数组或集合,下面深入探讨一下其工作原理①自定义集合MyList 为了说明使用IEnumerable和IEnumerator接口,从而让数组或集合支持foreach语句的原理,我们首先自定义一个简单的链表形集合MyList,其中仅实现了AddData方法,其他相关方法没有写出,代码如下://集合包含的项,即所谓的节点public class DataItem{ public DataItem Next { get; set; } public object Da... 阅读全文
摘要:
如果处于某种原因,不能在类内部源代码上添加新的方法,那么可以使用扩展方法,如下//原始类public class BaseClass{ public int Data{get;set;}}//扩展方法必须定义在非泛型静态类中public static class ExtendClass{ //扩展方法的第一个参数为要扩展的类,并在前面加this public static void Plus(this BaseClass bass, int data) { bass.Data += data; }}//客户程序class Program{ st... 阅读全文
摘要:
梳理一下static、abstract、virtual、override和new之间的关系①static类里的所有成员都应该是static的,且不能被继承,static的方法也不能加abstract或virtual; 但是在非static类里面的static方法可以在子类中被同名方法覆盖,//父类public class ClassBase{ public static string A(){return "ClassBase.StaticA";}//父类静态方法}//子类public class ClassSon :ClassBase{ public new string 阅读全文