张磊(Avraber)

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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)  阅读(232)  评论(0编辑  收藏  举报