1.构造函数无返回值(无返回值不等于void)
2.必须使用public 类型,函数名称和类名相同
3.派生类的自动调用基类的默认的构造函数(无参数的),若不调用默认的
请使用public B( int i, int j ):A(i) { y = j; }
析构函数(只能在有非托管的资源时使用,用来释放非托管资源,托管资源clr自动释放)
类名前加‘~’
什么是非托管资源
定义变量一定要赋初始值,否则会在使用try catch finally 中由于语句快的作用,编译时
会提示变量末赋值的错误。
其他类弄转字符串 .ToString()
字体串转相应类型 Double.Parse()
不要随间使用this,
this代表当前类的当前实例,静态成员函数没有this指针
this关键字可用于从构造函数、实例方法 和实例访问器中访问成员 .
限定被相似的名称隐藏的成员
public Employee(string name, string alias)
{
this.name = name;
this.alias = alias;
}
将对象作为参数传递到其他方法,例如:
CalcTax(this);
泛类的使用
public class Stack<T>
{
private T[] m_item;
public T Pop(){...}
public void Push(T item){...}
public Stack(int i)
{
this.m_item = new T[i];
}
}
类的写法不变,只是引入了通用数据类型T就可以适用于任何数据类型,并且类型安全的。这个类的调用方法:
//实例化只能保存int类型的类
Stack<int> a = new Stack<int>(100);
a.Push(10);
a.Push("8888"); //这一行编译不通过,因为类a只接收int类型的数据
int x = a.Pop();
2.必须使用public 类型,函数名称和类名相同
3.派生类的自动调用基类的默认的构造函数(无参数的),若不调用默认的
请使用public B( int i, int j ):A(i) { y = j; }
析构函数(只能在有非托管的资源时使用,用来释放非托管资源,托管资源clr自动释放)
类名前加‘~’
什么是非托管资源
定义变量一定要赋初始值,否则会在使用try catch finally 中由于语句快的作用,编译时
会提示变量末赋值的错误。
其他类弄转字符串 .ToString()
字体串转相应类型 Double.Parse()
不要随间使用this,
this代表当前类的当前实例,静态成员函数没有this指针
this关键字可用于从构造函数、实例方法 和实例访问器中访问成员 .
限定被相似的名称隐藏的成员
public Employee(string name, string alias)
{
this.name = name;
this.alias = alias;
}
将对象作为参数传递到其他方法,例如:
CalcTax(this);
泛类的使用
public class Stack<T>
{
private T[] m_item;
public T Pop(){...}
public void Push(T item){...}
public Stack(int i)
{
this.m_item = new T[i];
}
}
类的写法不变,只是引入了通用数据类型T就可以适用于任何数据类型,并且类型安全的。这个类的调用方法:
//实例化只能保存int类型的类
Stack<int> a = new Stack<int>(100);
a.Push(10);
a.Push("8888"); //这一行编译不通过,因为类a只接收int类型的数据
int x = a.Pop();