随笔分类 - C#
摘要:本质的区别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。那我们看看下面的语句能否互换:1.static readonly TestClass test1=new TestClass();2.static readonly TestClass test2=null;3.static readonly a=20*b; static readonly b=2;4.static readonly int[] array=new int[]{1,2,3,4,5};5.void...
阅读全文
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Test1{ /* * C#静态构造函数既没有访问修饰符,也没有参数。 * 在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类。 * 无法直接调用静态构造函数。 * 在程序中,用户无法控制何时执行静态构造函数。 * C#静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。 * C#静态构造函数在为非托管代码...
阅读全文
摘要:一、接口与抽象类 抽象类提供多个派生类共享基类的公共定义,它既可以提供抽象方法,也可以提供非抽象方法。抽象类不能实例化,必须通过继承由派生类实现其抽象方法,因此对抽象类不能使用new关键字,也不能被密封。如果派生类没有实现所有的抽象方法,则该派生类也必须声明为抽象类。另外,实现抽象方法由overriding方法来实现。抽象类可以派生自另一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,接口除了可以包含方法之外,还可以包含属性、索引器、事件,而且这些成员都被定义为
阅读全文
摘要:观察者模式就是将一个系统分割成一系列相互协作的类,有一个很不好的副作用,那就是需要维护相关对象间的一致性,但是通过使用委托可以解决这一问题。实际上,观察者模式所做的工作其实就是在接触耦合,让耦合的双方都依赖于抽象,而不是依赖于具体,从而使得各自的变化都不会影响另一边的变化。下面来看一个例子:员工(观察者)在公司观察其他事情时不能让老板看到,所以要通过前台秘书(通知者),当秘书看到老板回来时,立即打电话通知员工,告诉他们老板回来了,各就各位继续工作。 interface Subject { void Notify(); string SubjectState { get; set; } }这是通
阅读全文
摘要:View Code /// <summary> /// 取得本周第一天的日期,即星期日 /// </summary> /// <returns></returns> public static string GetWeekFirstDate() { return DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString(); } ...
阅读全文
摘要:一个很经典的学习C# 委托的例子跟大家分享一下,希望对大家有点帮助,直接看代码:BubbleSorter.csusing System;using System.Collections.Generic;using System.Text;namespace Wrox.ProCSharp.Delegates{ delegate bool Comparison(object x, object y); class BubbleSorter { static public void Sort(object[] sortArray, Comparison comparer) { for (int i
阅读全文
摘要:今天学习C#的委托用法,跟大家分享一下:委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法。我们看看下面的例子:int i = 100; //定义一个整形数。public delegate string GetString(); //定义一个委托GetString,它返回string类型。GetString firstMethod = new GetString(i.ToString); //实例化类型为GetString的一个委托。不多说了,下面来看一个例子,很简单的一个例子,大家都可以看懂的:View Codeusing System;using System.Collecti
阅读全文