1. 关键词this是指向实例自身的,主要运用在五个方面,例如传入的形参将成员数据覆盖时,可以用this表明是实例中的数据;
将当前对象作为参量传入给另一个函数;
With indexers(索引器);
this也可以用来重载构造函数,例如
也就是说,使用第二个构造函数的时候调用this(42)是调用第一个构造函数并将42传入第一个构造函数的参量,然后再进行scope里面的内容;
隐式调用成员函数和数据。
2. 静态成员被视作整个class的一部分,可以直接用类名调用,而非静态成员在class外只能通过实例化调用,所以在C#中用静态方法可以实现全局方法,但是因为静态成员只属于类,所以在this中不能调用并且不能调用非静态成员数据。
静态构造函数应该在实例化之前被调用且不能有修饰符。
静态类也类似,不能实例化,没有派生类,没有非静态成员
3. 如果需要对非托管资源进行释放,需要使用iDisposable接口。而一种简单的方法是使用using,当使用完成后即执行出scope,编译器就会自己调用Dispose()。
出了using的scope就会被回收。
4. ref使用前必须将数据初始化,而out仅需申明类型,表示接下来就会给变量赋值
5. overloading是相同名字不同参量和行为;overriding是对继承的方法具体化(需在父类指明virtual在子类指明override)
6. 属性是将数据进行封装,属性中需要get和set来访问和处理数据;readonly的数据只能在构造函数和初始化时进行赋值。