Stay hungry. Stay Foolish.
CSharp-Learning-Series-Chapter-4-5 Try 语句和异常 CSharp-Learning-Series-Chapter-4-5 Try 语句和异常
Try 语句 try语句指定了用来进行错误处理或清理的一个代码块。 try语句块后边必须紧接着一个catch块或者是一个finally块,或者两者都有。 当try块里发生错误的时候,catch块就会被执行。 finally块会在执行完t
CSharp-Learning-Series-Chapter-4-4 Lambda 表达式 CSharp-Learning-Series-Chapter-4-4 Lambda 表达式
什么是Lambda表达式Lambda表达式其实就是一个用来代替委托实例的未命名的方法;编译器会把Lambda表达式转化为以下二者之一: 一个委托实例 一个表达式树(expression tree),类型是Expression,它表示了可遍
CSharp-Learning-Series-Chapter-4-3 事件 CSharp-Learning-Series-Chapter-4-3 事件
Event 事件 使用委托的时候,通常会出现两个角色,一个广播者,一个订阅者 广播和订阅 使用委托的时候,通常会出现两个角色,一个广播者,一个订阅者 广播者这个类型包含一个委托字段,广播者通过调用委托来决定什么时候进行广播。 订阅者是方
CSharp-Learning-Series-Chapter-4-2 委托(下) CSharp-Learning-Series-Chapter-4-2 委托(下)
实例方法目标和静态方法目标 当一个实例方法被赋值给委托对象的时候,这个委托对象不仅要保留着对方法的引用,还要保留着方法所属实例的引用。 System.Delegate 的Target属性就代表着这个实例。 如果引用的是静态方法,那么Targ
CSharp-Learning-Series-Chapter-4-1 委托(上) CSharp-Learning-Series-Chapter-4-1 委托(上)
Delegates 委托 委托是一个对象,它知道如何调用一个方法 委托类型和委托实例 委托类型定义了委托实例可以调用的那类方法,具体来说,委托类型定义了方法的返回类型和参数。 例子 委托实例把方法赋值给委托变量的时候就创建了委托实例。
CSharp-Learning-Series-Chapter-3-13 协变  逆变  不变 CSharp-Learning-Series-Chapter-3-13 协变 逆变 不变
Covariance, Contravariance, Invariance T 既作为输入 又作为输出 是不对的 危险的 Covariance 协变,当值作为返回值/out 输出 Contravariance 逆变,当值作为输入
CSharp-Learning-Series-Chapter-3-12 泛型约束  子类  自引用  静态数据  转换 CSharp-Learning-Series-Chapter-3-12 泛型约束 子类 自引用 静态数据 转换
泛型的约束 默认情况下,泛型的类型参数(parameter)可以是任何类型的。 如果只允许使用特定的类型参数(argument),就可以指定约束。 泛型约束 例子 泛型约束T是不可空的值类型 这个泛型代表了可空值类型 T有一个无参的构
CSharp-Learning-Series-Chapter-3-11 泛型为什么存在  类型参数  默认值 CSharp-Learning-Series-Chapter-3-11 泛型为什么存在 类型参数 默认值
泛型简介泛型的作用 跨类型可复用的代码:继承 和 泛型。 继承 –> 基类 泛型 –> 带有“(类型)占位符” 的“模板” 泛型类型(Generic Types) 泛型会声明类型参数 – 泛型的消费者需要提供类型参数(argu
CSharp-Learning-Series-Chapter-3-10 枚举和嵌套类型 CSharp-Learning-Series-Chapter-3-10 枚举和嵌套类型
枚举简介 枚举是一个特殊的值类型,它可以让你指定一组命名的数值常量。 枚举的底层原理 每个枚举都对应一个底层的整形数值(Enum.GetUnderlyingType())。默认: 是int类型 0,1,2…会按照枚举成员的声明顺序自动赋
CSharp-Learning-Series-Chapter-3-9 接口简介 CSharp-Learning-Series-Chapter-3-9 接口简介
什么是接口 接口与class类似,但是它只为其成员提供了规格,而没有提供具体的实现 接口的成员都是隐式抽象的 一个class或者struct可以实现多个接口 接口的实现 接口的成员都是隐式public的,不可以声明访问修饰符 实现接口对
CSharp-Learning-Series-Chapter-3-8 struct 和访问修饰符 CSharp-Learning-Series-Chapter-3-8 struct 和访问修饰符
Struct struct和class差不多,但是有一些不同: struct是值类型,class是引用类型 struct不支持继承(除了隐式的继承了object,具体点就是System.ValueType) struct的成员class能
CSharp-Learning-Series-Chapter-3-7 object类型 CSharp-Learning-Series-Chapter-3-7 object类型
object类型 object(System.Object)是所有类型的终极父类。 所有类型都可以向上转换为object。 后进先出,压栈 出栈 object是引用类型 但值类型可以转化为object,反之亦然。(类型统一) sta
1 / 3