摘要:int a=6&3;Console.WriteLine("a={0}",a);//6的二进制是00000110,3的二进制是00000011,按位与后等于00000010,即2int b=6|3;Console.WriteLine("b={0}",b);//6的二进制是00000110,3的二进制是00000011,按位或后等于00000111,即7int c=~6;Console.WriteLine("c={0}",c);//6的二进制是00000110,按位取反后是11111001即-7int d=6^3;Console.
阅读全文
摘要:C#集合类型的基类为ICollection和ICollection<T>,IList<T>和IList分别是他们的子类,表示可按照索引单独访问的一组对象IList<T>和IList添加了索引器,所以可以通过索引的方法访问集合.如果其他自定义的集合类只继承了ICollection和ICollection<T>类型,以求更大的灵活性,那么如果我自定义一个集合类型用于访问和删除集合中类型并且兼容所有集合的时候必须加以区别,IList<T> list = collection as IList<T>;如果collection继承I
阅读全文
摘要:yield一般有两种形式yield retrun和yield break为了区别yield retrun和yield break分别声明了两个方法public static IEnumerable PowerReturn(int baseNumber, int highExponent) { int result = 1; for (int counter = 1; counter <= highExponent; counter++) { result = result * base...
阅读全文
摘要:今天使用了RuntimeHelpers.PrepareConstrainedRegions()方法放在try块之前,然后用ReliabilityContract特性标记了一个方法,在执行try块之前CRL会对catch块和finally做JIT编译,如果在方法中发生了异常,则程序在进入try块之前就会把异常抛出来,这样可以避免类的状态发生改变,如果发生错误不能恢复.具体代码如下private static void Demo2() { RuntimeHelpers.PrepareConstrainedRegions(); try ...
阅读全文
摘要:一、程序集的一些基本概念:程序集是包含一个或多个类型定义文件和资源文件的集合。它允许我们分离可重用类型的逻辑表示和物理表示。程序集是一个可重用、可实施版本策略和安全策略的单元。它允许我们将类型和资源划分到不同的文件中,这样程序集的使用者便可以决定将哪些文件打包在一起部署。一旦CLR加载了程序集中包含清单的那个文件,它就可以确定程序集的其他文件中哪些包含了程序正在引用的类型和资源。任何程序集的使用者仅需要知道包含清单的文件名称。文件的划分对使用者是透明的,并且可以在将来改变,同时又不会破坏现有应用程序的行为。程序集的特性:1、程序集定义了可重用的类型。2、程序集标识有一个版本号。3、程序集可以包
阅读全文