由于工作中使用VB.NET,所以在学习ASP.NET之前先简单复习一下C#的知识,这里只简单记录一些以前比较模糊的概念以供以后复习:
1.this关键字有两种用法,一是在类中表示当前类的对象,一种是构造函数中,使用:this来简化多个不同参数构造函数的编写
2.引用类型:类 字符串 数组 引用类型地址存在栈中,值存在堆中
3.字符串具有不可变性,重新赋值不会销毁其在堆中的内存空间,所以在对字符串进行循环操作时候建议使用stringbuilder
4.命名空间可以理解为类的包装袋,不同命名空间中可以有相同名称的类,一个工程中使用别的命名空间下的类需要用using,不同工程下需要调用就需要添加引用之后再using调用
5.再熟悉一个项目时可以用查看类图的办法快速的看清这个项目中各个类的依赖关系
6.子类并没有继承父类的构造函数,但是。子类会默认的调用父类无参数的构造函数,创建父类对象,让子类可以使用父类中的成员。所以,如果在父类中重新写了一个有参数的构造函数之后,那个无参数的就被干掉了,子类就调用不到了,所以子类会报错。
解决办法:
1)、在父类中重新写一个无参数的构造函数。
2)、在子类中显示的调用父类的构造函数,使用关键字:base(),这样内部创建父类对象的时候就在用后面使用设置的父类构造方法
7.多态:让一个对象表现出多种状态 实现方法:1虚方法 2抽象类 3接口
8.能修饰类的访问修饰符只有 public 和 internal 后者只能当前程序集访问(当前项目)
9.序列化和反序列化对象需要用到BinaryFormatter 需要序列化的类要标记为[Serializable]