摘要: } } 阅读全文
posted @ 2019-05-29 14:46 pu409 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 对泛型实例调用方法的约束,当参数类型为X时及其派生类时,才能用A方法,否则只能用...方法;当参数类型为Y时,才能用B方法,否则.... 有一个飞行技能 的类,那是不能让T为 鱼类 来调用飞行类里的方法,需要约束下该飞行类只能是鸟或恐龙里的翼龙或者什么其他的能飞的东西来调用方法。 约束的类型: 主约 阅读全文
posted @ 2019-05-28 16:41 pu409 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 泛型方法 是方法的模子 可以存在与泛型类或普通类中,泛型方法的泛型参和泛型类的泛型参是相互独立的。 class Program { static void Main(string[] args) { //泛型方法引用 DD.IsHappy<Dog>(new Dog("KK")); DD.IsHapp 阅读全文
posted @ 2019-05-28 14:47 pu409 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 泛型类 某型类的模子,某型可根据需要变化 <T> T代表某类型,T就是个占位子的,类似于数学方程中的一个X 阅读全文
posted @ 2019-05-28 14:05 pu409 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 利用现有运算符,针对自定义类或结构,简化地自定义某运算操作,一般选用有相关性的既有运算符 操作数至少有一个是类或结构 不能改变运算符优先级 不能重载的运算符: =,&&,||,[],()等 阅读全文
posted @ 2019-05-28 13:02 pu409 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 对自定义的结构或者类定义显示或隐式转换 隐式转换 public static是必不可少的 隐式 关键字 implicit 操作 关键字 operator 显示转换 关键字 explicit 阅读全文
posted @ 2019-05-28 10:34 pu409 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 装箱 需要将值类型(存储在栈中)转化为引用类型(存储在堆中)来进行统一操作和存储时用到装箱。 其本质是 在堆上创建了引用类型的副本,新创建的引用类型和原来的值类型相互独立(各自变化,互不影响)。 拆箱:将装箱后的对象转换为值类型的过程(显式转换),装箱的逆操作。 阅读全文
posted @ 2019-05-27 16:42 pu409 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 只包含 静态方法和属性,用static标识 静态类不能创建实例,不能被继承 主要用于 基础类库 和 静态类扩展方法 静态扩展方法: 扩展方法所属类是static类,方法是static方法,方法第一参是this+类名。 我的理解就是这样什的: 阅读全文
posted @ 2019-05-27 13:32 pu409 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 关键字: static 用在: 字段、方法、属性、构造函数、事件 作用 :可以被类的所有实例共享,都访问的同一个内存位置。 想到这个 同一个内存位置,我脑海里突然浮现一种声音,“你见,或者不见我 我就在那里 不悲 不喜” 静态成员和实例成员不同的保存方式,静态成员存储在堆中。实例成员要通过new 一 阅读全文
posted @ 2019-05-27 12:42 pu409 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 是一种引用类型 接口里定义一组函数成员,单是自己不实现它们,而让类来实现(接口的实现与继承相似)。(感觉像只带着抽象方法(或其他抽象东西)的抽象类) 定义的成员默认是public ,但是不能把public 写在上面 一个类同时可以继承自一个基类+实现多个接口 阅读全文
posted @ 2019-05-24 12:01 pu409 阅读(153) 评论(0) 推荐(0) 编辑