摘要:创建可以销毁的对象。可以用using包含起来的类Public class MyClass:IDisposable{private bool IsDisposed=false;public void Dispose(){ Dispose(true); GC.SupressFinalize(this);}protected void Dispose(bool Diposing){ if(!IsDisposed) { if(Disposing) { //Clean Up managed resources } //Clean up unmanaged resources}IsDisposed=tru
阅读全文
摘要:1、使用关键字readonly ,表示这个字段只能在执行构造函数的过程中赋值,或者由初始化语句赋值2、.net4.0新增一个 Tuple 类,代表一个有序的N元组。可以调用Tuple.Create静态方法或使用new 关键字直接创建一个Tuple对象,.net基类库中定义了拥有1-7个泛型参数的泛型Tuple。 作用:可以使用Tuple对象作为方法的返回值。可以很容易地包含多个结果。3、.NET 4.0提供了一个大整数类型 BigInteger (位于System.Numerics中),这个类型可以表示任意大的整数。4、string是引用类型。 但却可以用 "=="来比较串
阅读全文
摘要:.net 的异步编程技术主要分为两个块:1、使用IAsyncResult 的异步编程模式。2、基于事件的异步编程模式。C#编译器会为每个委托生成支持异步执行的 BeginInvoke / EndInvoke 方法,从而将委托和异步编程紧密联系起来了。当同步执行程序时,如果执行到需要执行较长时间的代码时,用户必须等待,也会认为程序已经卡死或死机了。同步程序的示例代码如下:namespace CalculateFolderSizeNoAsync{ class Program { //计算指定文件夹的总容量 private static long Calcul...
阅读全文
摘要:一、示例: 用户输入两个操作数,再选择运算方法(加减乘除),程序即可算出结果。这个示例的关键之处在于它使用委托在运行时动态地调用不同的方法。1、先定义一个CalculateDelegate类型的私有字段curOpt,它将引用完成不同计算任务的方法://声明委托类型 public delegate double CalculateDelegate(double x,double y); //当前操作类型 private CalculateDelegate curOpt;2、定义一个方法,可以接收一个委托: //完成计算工作 void DoCalcu...
阅读全文
摘要:本示例程序的功能是找出数组中的最大值和最小值首先,定义一个泛型结构Pair保存这个值: public struct Pair<T> { public T Max; public T Min; }接着,设计一个泛型类MaxMin,提供一个公有的GetMaxMinVauleFromArray方法封装“查找数组中最大值和最小值算法。public class MaxMin<T> where T : IComparable<T>{//处理数据,获取最大值最小值public static Pair<T> GetMaxMinVauleFromArray(T[]
阅读全文