随笔分类 - C#
摘要:当把一个对象引用分配给一个变量时,该变量就包含对对象的一个强引用(strong reference)。垃圾收集器不会收回强引用仍在使用的对象。只要当变量离开作用域,或者显示地给变量分配null时,强引用才被删除。 弱引用(weak reference)可以保持对对象的引用,同时允许垃圾收集器在它认为适当的垃圾收集时间释放对象,回收内存。假设有一个对象创建相对便宜,但需耗费大量的内存,如果希望保持这...
阅读全文
摘要:.NET中有三种数组:一维数组,多维数组和锯齿数组。锯齿数组,也叫做数组的数组。 多维数组的大小是矩形的,例如3X3个元素。而锯齿数组的大小设置比较灵活,在锯齿数组中,每一行都可以有不同的大小。 在声明锯齿数组时,要依次放置开闭括号。在初始化锯齿数组时,先设置该数组包含的行数。定义各行中元素的第二个括号设置为空,因为这类数组的每一行包含不同的元素数,之后一行指定行的元素个数: 迭代锯齿数组中所有...
阅读全文
摘要: virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类被重写。 调用虚方法事时,将为重写成员检查该对象的运行时类型。 virtual修饰符不能与static、abstract、private或override修饰符一起使用...
阅读全文
摘要: abstract修饰符可以和类、方法、属性、索引器及事件一起使用。在类声明中abstract修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。 抽象类具有以下特性:抽象类不能实例化;抽象类可以包含抽象方法和抽象访问器;不能用seale...
阅读全文
摘要:访问修饰符是一些关键字(public,protected,internal,private),用于指定声明的成员或类型的可访问性。 public :访问不受限制 protected:访问仅限于包含类或从包含类派生的类型 internal:访问仅限于当前程序集 protected internal:访问仅限于当前程序集或从包含类型派生的类型 private:访问仅限于包含类型protecte...
阅读全文
摘要: 迭代器是一种方法、get访问器或运算符,它通过使用yield关键字对数组或集合类执行自定义迭代。yield返回语句会导致源序列中的元素在访问源序列中的下一个元素之前立即返回给调用方。尽管以方法的形式编写迭代器,但编译器会将其转换为一个实际上时状态机的嵌套类。只要客户端代码中的foreach循环继续进行,此类就会跟踪迭代器的位置。 ...
阅读全文
摘要: 事件具有以下特点: 1、发行者确定何时引发事件,订户确定执行何种操作来响应事件。 2、一个事件可以有多个订户,一个订户可处理来自多个发行者的多个事件。 3、没有订户的事件永远不会被调用。 4、事件通常用...
阅读全文
摘要: 委托是一种引用方法类型。一旦为委托分配了方法,委托将与方法具体完全相同的行为。委托方法调用可以像其他任何方法一样,具有参数和返回值。 与委托的签名(由返回类型和参数组成)匹配的任何可访问类或结构中的任何方法都可以分配给该委托。方法可以是静态方法,也可以...
阅读全文
摘要: 索引器在语法上方便创建客户端应用程序可将其作为数组访问的类、结构或接口。 索引器是在主要用于封装内部集合或数组的类型中实现的,使用this关键字。 class TempRecord{ private float[] temps=new float[10]{56.2F, 56.7F, 56.5F, 56.9F, 58.8F...
阅读全文