posted @ 2020-09-27 22:11
奔腾不止
阅读(351)
推荐(0)
编辑
摘要:
为什么要使用泛型(泛型可以继承的): 1,重用代码; 2,类型安全:编译时检查,尽早暴露问题(相对object而言); 3,提高性能:编译时生成,避免装箱/拆箱; 泛型的类型约束where T: 1,struct:只能是值类型,由struct定义; 2,class:只能是引用类型,class定义;
阅读全文
posted @ 2020-09-27 19:23
奔腾不止
阅读(240)
推荐(0)
编辑
摘要:
委托:对方法的封装 public delegate void Caculate(int a ,int b); --公开的委托,返回类型为void的Caculate(委托名:定义方法类型)的方法,且接受2个int参数; public void Add(int a,int b) { a+=b; } Ca
阅读全文
posted @ 2020-09-27 18:08
奔腾不止
阅读(419)
推荐(0)
编辑
摘要:
join: var majors=from m in Majors join t in Teachers on m.Teacher equals t --不能使用== where t.Name='小王' select m; left outer join:左边的集合必须返回,哪怕右边没有匹配到的(没
阅读全文
posted @ 2020-09-27 15:17
奔腾不止
阅读(1277)
推荐(0)
编辑
摘要:
Linq:并非只针对于集合,它已作用于数据库,XML文件,WebService......但所有的Linq都使用统一的查询表达式: var excellent=from s in students --students是一个集合,必须是IEnumerable或它的子类 where score>80
阅读全文
posted @ 2020-09-27 14:38
奔腾不止
阅读(180)
推荐(0)
编辑
摘要:
string是一个非常特殊的引用类型,不可被继承,因为它有值类型的很多特征: 1,imutable(不可变的):一个string定义的字符串,一旦设定,它将不可改变;string类中,没有任何一个可写的类成员,全是只读的; 2,‘==’比较运算符和值类型设计的一样:比较的是值; 字符串池: 在编译时
阅读全文
posted @ 2020-09-27 13:29
奔腾不止
阅读(328)
推荐(0)
编辑
摘要:
继承不是为了重用,而是为多态做准备; 实例化一个子类,需要调用父类(包括祖先类)构造函数,因为想要使用父类成员(非私有成员),必须调用一次父类构造函数; 当父类中有多个构造函数时,需要在子类构造函数中指明要调用哪个父类构造函数(base(父类构造函数参数)); 多态:同一个变量,调用同一个方法,可以
阅读全文
posted @ 2020-09-27 12:21
奔腾不止
阅读(178)
推荐(0)
编辑