一、值类型与引用类型
1、 C#中变量的类型分为两种:值类型和引用类型。
- 值类型的变量直接存储它们自己的值:数值类型、布尔类型、结构类型均为值类型。
- 类、委托、数组和接口的类型是引用类型。在声明引用类型的变量时,该变量的值为null。使用new 运算符显式创建对象的实例,或者为该变量分配已经在其他位置使用new 创建的对象时,该引用对象的值发生变化。
2、ref 与 out 关键字,也可用于函数调用过程中参数传递。其作用是传递内存中数据的地址。通过ref 和 out 关键字修饰的函数参数,使对被调用的函数的参数修改,能被调用者接受到。 在使用时函数声明和调用时都要有该关键字。
二、访问修饰符
二、类的相关
1、有virtual 关键字修饰的函数,表示该方法可以被继承的类重写。
2、有override 关键字修饰时,表示重写了一个父类的方法。
public class Student
{
public virtual void MyFunc() //virtual:该方法可以被继承的类重写
{
Console.WriteLine(1);
}
}
public class MyStudent:Student
{
public override void MyFunc() //override:重写了一个父类的方法。
{
Console.WriteLine(2);
}
}
3、base与this关键字。当父类与子类具有相同的成员时,通过base关键字来调用父类的成员;通过this关键字来调用子类的成员。如下所示
public class Student{
public virtual void MyFunc(){
Console.WriteLine(1);
}
}
public class MyStudent:Student{
public override void MyFunc(){
Console.WriteLine(2);
}
// 通过base关键字调用父类的函数成员。
public void f1(){
base.MyFunc();
}
// 通过this关键字调用子类的函数成员。
public void f2(){
this.MyFunc();
}
}
三、C#中的异常捕获机制:try-catch
1、其目的使当调试出现错误时,会出现错误提示。语法如下:
try
{
有可能出现错误的代码
}
catch
{
如果try中的代码出现异常,则进去catch中
}
// 上面的程序如何执行:如果try中的代码没有错误,则程序正常运行try中的内容后,不会执行catch中的内容。
//如果try中的代码有错误,则程序会立即跳入catch中执行。
//catch中一般为程序出错后的处理方式。