as用法,静态成员,ref,out,异常处理

1.as的用法
               // as 就是看左边的这个对象(左边的这个变量中指向的对象) 能不能转化为右边的类型
                // 如果可以转换,就将转化后的结果赋值给=左边的变量
                // 如果不能转换,就给左边的变量附一个null
                chinese2(类) dirver(实例化对象)=p[i](被判断的对象) as  chinese2
                (看这个对象是否可以通过里氏转化转化成这个类)
                    if (driver != null)  //假如是存在的,既不为null,则进行调用方法操作,调用的是子类方法
                {
                    Console.Write(i + "\t");
                    driver.Driving();
                }
 
               as的用法
               语法
            
                   对象 as 类型
            
               Base myBase = sub as Base;
              等价于
               Base myBase;
               if(sub is Base)
               {
                   myBase = (Base)sub;
               }
               else
               {
                   myBase = null;
               }

2.静态成员
                    什么事静态成员
                  前面有static修饰的成员
             2、如何调用静态成员
                   直接使用“类名.成员”
              3、什么是静态类
                   很多时候,可以发现一个静态的方法就是一个功能
                   有时一个类中的成员全部是静态
                   多半将这种类写成一个静态类
                   在类的前面加上一个static即可

3.ref,out
(1)ref使用前要赋值,out在方法中要赋值
(2)        int num1 = 10;
            int num2 = 5;
            Func(ref num1, ref num2);
public static void Func(ref int n1, ref int n2)
        {
            int temp = n1;
            n1 = n2;
            n2 = temp;
        }
//ref 加上ref后,调用者的变量和方法中的参数,指向的而是同一块内存空间,既改变一个,另一个也会改变。在使用前可赋值也可不赋值。
//实参和形参都必须加ref

//out   out的作用就是传出多个值,当需要一些值并且与返回值类型不一样时,可以用来传出值。比如传出异常信息。
//实参和形参都必须加ref

4.异常处理
{1}Try....Catch....Finally....
无论怎么样,Finally都会执行,哪怕是Try中有return语句,也会先执行finally再执行return
catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
(2) throw new Exception("异常信息");
  如何抛出异常
  异常抛哪儿去了
  异常抛给调用它的方法
  如果该方法没有处理异常,就再往上抛
  如果做了异常处理,就不再往上抛static void Main(string[] args)
        {
            try
            {
                Func1();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadKey();
        }

        public static void Func1()
        {
            // 如果该方法中用到一个资源需要被回收
            try
            {
                Func();
            }
            finally
            {
                Console.WriteLine("释放资源");
            }
        }

        public static void Func()
        {
            throw new Exception("123");
        }
    }

posted on 2012-07-04 18:03 张磊(Avraber) 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/zhanglei-net/archive/2012/07/04/2576620.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值