随笔分类 - C#
摘要:public Bitmap Convert(Bitmap OldBm) { Color c; int luma; Bitmap NewBm = new Bitmap(OldBm.Width, OldBm.Height); for (int y = 0; y < NewBm.Height; y++) { for (int x = 0; x < NewBm.Width; x++) { ...
阅读全文
摘要://自定义异常类MyException,并继承于SystemException class MyException : ApplicationException { //默认构造函数 internal MyException() { } //重载构造函数,并继承基类方法 internal MyException(string msg) : base(msg) { } }
阅读全文
摘要:try { //可能引发异常的语句 } catch (异常类型1 异常对象参数) { //异常处理语句 } catch (异常类型2 异常对象参数) { //异常处理语句 } catch (Exception 异常对象参数) { //异常处理语句 ...
阅读全文
摘要://System.Object类的析构函数声明代码class 类名称(){ ~类名称() { //清理非托管资源的代码 }}如果CLR检测到对象重写了默认析构函数,将会把对象标记为可终结对象,并把对象的地址引用保存在垃圾收集器管理的终结队列中。将要发生回收时,将终结队列所指向的对象复制到终结对象列表中,第1次回收时调用析构函数,不会删除对象,只有在第2次回收时才真正删除对象。由于实际运行时垃圾回收器发生两次回收,可终结对象才真正被删除,所以大量使用将影响程序性能。 class 类名称:IDisposable { public void Dispose() ...
阅读全文
摘要:所有对象分为3代,第0代、第1代和第3代当堆空间不够用时,垃圾收集器将检查第0代的对象,销毁发现没有被引用的对象,幸存的对象将升级为第1代对象,某些标记为垃圾的对象也有可能幸存而升级,以此类推,直到第2代对象被检查后仍然是第2代,不会继续升级了。System.GC类
阅读全文
摘要:栈:存储非对象的值类型数据和引用类型实例的地址引用,数据超出作用域时将被清除堆:存储由new创建的引用类型实例,当实例没有被任何变量引用时,才有可能在某个时间被清除,堆的数据清除交给垃圾收集器(GC)完成
阅读全文
摘要:#region、#endregion:标记自定义的代码块部分#define、#undefine:声明或取消声明条件符号,必须写在C#程序顶部#if、#elif、#else、#endif:条件分支语句,用于判断条件符号是否被声明#warning、#error:警告,错误
阅读全文
摘要:var 实例名称 = new {属性成员初始化语句1,属性成员初始化语句2...};
阅读全文
摘要:Snake s = new Snake(){Name="眼镜蛇",Lenth=10,Weight=20};
阅读全文
摘要:using System;namespace ExtMethod{ public static class Tool { public static void sayHello(this string s) { Console.WriteLine("Hello " + s + "!"); } }} 将以上代码编译为.dll文件,包含到以下项目中:using System;using ExtMethod;namespace ConsoleApplication1{ class Program { ...
阅读全文
摘要:private int? a;private double?[] b = new double?[] {3.2,null,null,6.4,1.28,2.56};一般情况下,值类型和值类型数组元素无法被赋予null值,若声明为可空类型后,其对应的数据范围则变成原值类型的底层类型范围加上null值。
阅读全文
摘要:var关键字:用于隐式声明局部变量的数据类型,由编译器根据初始值推测具体的数据类型;声明的是局部变量,只能用于声明方法和属性,并且声明时必须对变量赋予非null的初始值。
阅读全文
摘要:无参修饰符:参数传递的方式是按值传递params修饰符:将不确定个数的一组同类型参数作为一个逻辑参数传递,函数签名中只允许一个params修饰符,并且被修饰参数应为最后一个参数 internal static void text(params string[] txt) out修饰符:参数传递方式是引用传递,参数传递前不需要赋初始值,并且被调用函数必须给该参数赋值ref修饰符:参数传递方式是按引用传递,调用前需要赋初始值,被调用函数可以不对参数重新赋值
阅读全文
摘要:namespace A{ namespace B{ namespace C{ class ClassName{} } }}using d = A.B.C;d.ClassName obj = new d.ClassName();
阅读全文
摘要:抽象类可以实现接口,这时抽象类必须实现所有的接口成员,也可以将继承的接口成员映射为抽象成员,并由其派生类来实现。
阅读全文
摘要:访问修饰符 static class 类名称{ 静态成员1; 静态成员2; 静态成员3; ...}当类体中只有静态成员时,可以声明该类为静态类。静态类无法用“new”创建对象,不能编写构造函数,并且是密封类(无法被继承)。
阅读全文
摘要:public struct MyStruct<T1,T2>{ public T1 item1; public T2 item2;}
阅读全文
摘要:class MyGenericClass<T1,T2,T3>{ private T1 innerT1Object; public MyGenericClass() { innerT1Object = default(T1); }}约束class MyGenericClass<T1,T2> where T1:constraint1 where T2:constraint2{ ...}class MyGenericClass<T1,T2> where T2:T1
阅读全文
摘要:CollectionClass<ItemClass> col = new CollectionClass<ItemClass>();col.Add(new ItemClass);可空类型System.Nullable<type> 缩写为 type?例如: System.Nullable<int> myInt 相当于 int? myInt??运算符int? opl = null;int result = op1*2 ?? 5若op1为null,则将5赋给result。List<T> myCollection = new List<
阅读全文
摘要:<operand> as <type>之适用于下列情况:<operand>类型是<type>类型<operand>可以隐式转换为<type>类型<operand>可以封箱到<type>类型中
阅读全文

浙公网安备 33010602011771号