学习C#的一些笔记

接口与类的区别:

1. 不允许使用访问修饰符(public, private, protected或internal),所有接口都必须是公共的。

2. 接口成员不能包含代码体。

3. 接口不能定义字段成员。

4. 接口成员不能使用关键字static, virtual, abstract或sealed(封闭的)来定义。

5. 类型定义成员是禁止的。这点不明白

 

隐藏基类成员,用关键字

new来定义它们(显示隐藏)

override重写父类中的方法

 

virtual用来定义虚方法,用来被重写。

 

调用重写或隐藏基类方法:

base.parentMethod();

this.childMethod();

 

嵌套类型定义,调用:

MyClass.myNestedClass myObj = new MyClass.myNestedClass();

 

属性定义:

public int MyInt {get; set;}

 

partial关键字,将一个类分开-成几个文件

A.cs文件

partial class MyClass

{ public void RtuStrin() {}}

B.cs文件

partial class MyClass

{ public int MyInt; }

C.cs文件

MyClass myClass = new MyClass();

myClass.MyInt = 1;

myClass.RtuStrin();

 

集合:

ArrayList--容量不是固定的

Animal[] animalArray = new Animal[2];// 定义了固定长度的数组

ArrayList animalArrayList = new ArrayList(); // 未定义固定长度的数组

 

foreach是IEnumerable接口所支持的

AddRange:向ArrayList中插入一个ArrayList

InsertRange():向ArrayList中插入一个ArrayList指定位置

IList()---->Clear(), RemoveAt();

ICollection---->Count;

Dictionary---->Remove();

 

Boxing & Unboxing, Nullable, ref, out, param

 

Delegate Example:

public delegate void DelegateMethod(int number);

public class Test {public DelegateMthod dm; }

public class Test1 { public void Method1 { Console.WriteLine("Test1"); }}

public class Test2 { public void Method2 { Console.WriteLine("Test2"); }}

public class App {

    public static void main() {

        Test t = new Test();

        Test1 t1 = new Test1();

        Test2 t2 = new Test2();

        t.dm += new DelegateMethod(t1.Method1);

        t.dm += new DelegateMethod(t2.Method2);

        t.dm(5);

    }

}

 

Lock: 线程同步安全,可以锁住某个对象

 

StringBuilder:

 

使用继承显示实现接口成员:在方法前面加上接口名称(实现接口某个方法:public interfaceName.methodName())

 

C#里面的成员可以包括:

字段,属性,方法,事件,运算符,索引器,构造函数,析构函数,嵌套函数

 

 

C#中常用的异常类型:

System.Exception;

System.NullReferenceException;

System.ArgumentOutOfRangeException;

System.InvalidCaseException;

posted @ 2010-05-03 21:17  我是小菜鸟  阅读(162)  评论(0编辑  收藏  举报