为了便于文章的开展,首先介绍装箱(Boxing)和拆箱(Unboxing)这两个名词。.Net的类型分为两种,一种是值类型,另一种是引用类型。这两个类型的本质区别,值类型数据是分配在栈中,而引用类型数据分配在堆上。那么如果要把一个值类型数据放到堆上,就需要装箱操作;反之,把一个放在堆上的值类型数据取出来,则需要进行拆箱操作。 例如,对于如下简单的装箱和拆箱操作语句。 int i = 123; object o...[ 查看全文 ]
#undef debug #define debugdisplay #undef debugdictionary using System; using System.Collections; namespace LZW { public class cLZW { #region Constrcut public cLZW() { } #endregion #region Coding public string InCharStream { set { _InCharSt...[ 查看全文 ]
声明函数指针并实现回调 作者:Danny Kalev 编译:赵湘宁 原文出处:Declaring Function Pointers and Implementing Callbacks 程序员常常需要实现回调。本文将讨论函数指针的基本原则并说明如何使用函数指针实现回调。注意这里针对的是普通的函数,不包括完全依赖于不同语法和语义规则的类成员函数(类成员...[ 查看全文 ]