黑马程序员--C#基础

本文详细介绍了C#中的装箱与拆箱概念、方法的out参数与ref参数使用方法、异常处理技巧、显示实现与实现的区别以及虚方法和抽象方法的区别。

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重写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值