您的位置:首页 > 职场人生

黑马程序员--C#基础

2014-03-23 10:44 232 查看
1.装箱与拆箱

装箱和拆箱是一个抽象的概念;装箱是将值类型转换为引用类型;拆箱是将引用类型转换 为值类型;利用装箱和拆箱功能,可通过值类型的任何值与Object类型的值互相转换,将值类型与引用类型链接起来。

例如:

int val = 100;

object obj = val;

Console.WriteLine (“对象的值 = {0}", obj);

这是一个装箱的过程,是将值类型转换为引用类型的过程

int val = 100;

object obj = val;

int num = (int) obj;

Console.WriteLine ("num: {0}", num);

这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程

3.方法的out参数与ref参数

out是内部为外部变量赋值,out一般用在函数需要有多个返回值的场所。

>>1在方法的参数类型前加out,那么传参数的时候,也必须在number前加out表明这 个参数不是传入的,那么在传入前可以不赋初值。

>>2如果参数是以out形式传入的,那么在传入前可以不赋初值。

>>3在方法中对于由out修饰的参数,必须赋值,并且必须在使用前赋值。

实例:

class RefExample

{

static void Method(ref int i)

{

i = 44;

}

static void Main()

{

int val = 0;

Method(ref val);

}

}

class OutExample

{

static void Method(out int i)

{

i = 44;

}

static void Main()

{

int value;

Method(out value);

}

}

4、关于异常问题

实例:

try

{

//将字符串转换为数字类型

double a = double.Parse(txtNum1.Text);

double b = double.Parse(txtNum2.Text);

if (a > b)

{

MessageBox.Show("错误");

}

txtSum.Text = (a + b).ToString();//求和的结果

}

catch (Exception)//不是数字的其他情况

{

MessageBox.Show("错误,请输入数字");

}

5、显示实现与实现的区别

访问修饰符不一样,显示实现时默认(private),实现是public

限定词不一样,显示实现的时候,会将方法的接口名称显示出来,实现的时候不显示方法的接口名称

当类中实现的多个接口中,有些接口的方法名称相同,这时,需要使用显示实现一个类继承一个类,实现多接口

6、虚方法和抽象方法的区别

抽象方法只有声明没有实现,需要在子类中实现;虚拟方法有声明和实现,并且可以在子类中覆盖,也可以不覆盖使用父类的默认实现;虚拟方法有实现代码 ,抽象方法则没有, 并且抽象类不能被实例化,只能实例化实现了全部抽象方法的派生类 ;抽象方法是虚拟方法的一种;抽象方法没有实现,它的存在只是为派生类统一接口;派生类应该实现这个方法 如果编写一个基类,它永远不会被实现,那么就应该将这个类中的一个或多个方法定义为抽象方法,只允许在抽象类中使用抽象方法声明;虚方法与多态性关系密切,虚方法允许派生类完全或部分重写该类的方法,需写方法体。抽象类中可以包含抽象方法与一般的方法,抽象类不可以new,抽象方法只是一个定义,没有方法体,也就是没有{},也不要在里面写内容。它们两个相像的一点是都用override重写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: