zoukankan      html  css  js  c++  java
  • is,as,类库

     is和as运算符:
    所有类型的基类
    object类型 - 基类:所有类型的基类,就类似是整个生物圈的生物类,是个大的概念
    object o1 = new Random();     //object可以承载Random随机数类型
                object o2 = new aaa();        //object可以承载新建的类aaa
                object o3 = "";               //object可以承载字符串类
                object o4 = 11;               //object可以承载数字类
                
                
                //没有引用的类型,可以右键解析出来
                ArrayList arr = new ArrayList();
                //这个集合里可以放任意类型
                arr.Add("呵呵");
                arr.Add(12.5);
                arr.Add(new Random());  //一个对象实例化的过程,实际上是new实行一遍构造函数的过程,
                //ArrayList arr = new ArrayList();实际就是一个对象放到一个变量里面去
                //现在是省略一步,没有放到变量里去,直接扔到集合里去
                arr.Add(new  aaa ());    //新建的类也可以加上
    
                //string s = arr[0];这个时候不能进行转换。
                //子类string可以转换成父类object
                //父类无法转换成子类
                //正确方式是:
                string s = arr[0].ToString();
                Console.WriteLine(s);
    
                //不知道数据类型时,可以用string转换
                string ss = arr[1].ToString();
                Console.WriteLine(ss);
    
                //这样也可以转换,只是打印出的是它的数据类型
                string sss = arr[2].ToString();
                Console.WriteLine(sss);
    
                //Random r = (Random)arr[0];  //意思是:把索引值是0的转换成随机数类型,然后赋值到随机数类型"r",也是转换类型的一种方法
                //r.Next(0,3);                  这时的系统崩溃,无法转换
    
                bool b = arr[0] is Random;    //返回的是布尔类型
                Console.WriteLine(b);
                
                            
     ----------------------------------------------------------------------------           
                
    
    is是判断某个对象是否是某个类型
     对象 is 类型  返回 bool类型
     
     
     //在不知道哪个是随机数的情况下:
                foreach (object o in arr) {       //里面都是object类型
                    if(o is Random == true){      //o is Random == true ,判断"o"是不是随机数类型,true可以不写,默认是true,把错误的都屏蔽掉
                        Random r = (Random)o;    //如果是的话,把“0”转换成随机数类型,赋值给r
                        Console.WriteLine(r.Next(0,3));     //  可以直接打印出来
                    }
                }
     
     
     
     
     -----------------------------------------------------------------------------
     
    as是将某个对象转换成某个类型
     对象 as 类型  
     如果转换成功返回对象类型
     如果转换失败,也不会报错,而是返回null值
    
    
    //方法二:
                foreach (object o in arr)
                {
                    Random r = o as Random;      //数据类型转换的过程
                    //r.Next(0,10);              这时会报错,未将对象引用设置到对象的实例,"r"值是空的null,说明没有被实例化,没有被实例化的原因是,"o"对象变不成Random类型,类型转换不过来
                    //尽量使用as形式的,因为转换不成不会报错,只会返回空值
    
                    //这里可以进行判断
                    if(r != null){
                        Console.WriteLine(r.Next(0,10));   //这样就可以直接调用了
                    }
                }
    
    
    -----------------------------------------------------------------------------------
    
    
    
    类库:(带小齿轮的辅助程序,加密用的乱码)dll  
    
    namespace 类库
    {
        class Program
        {
            static void Main(string[] args)
            {
                //新写一个加减的类,然后在文件中找到加减这个类,放到桌面上,引用的时候,在类库这个文件这,右键粘贴即可,注意命名空间记得引用出来
    
    
                JiaJian c = new JiaJian();
                Console.WriteLine(c.jiafa(10, 2));              //这样就能打出来了
    
                //f12 可以查看定义,也就是加密版
    
                Console.ReadLine();
            }
        }
    }
    
    
    
    class JiaJian
        {
            public int jiafa(int a, int b)
            {
                return a + b;
            }
            public int jianfa(int a, int b)
            {
                return a - b;
            }
            //然后点击输出,找到bin文件找到.dll文件,复制粘贴,然后再点生成,再点类库下的引用,浏览添加,确定之后再点生成,然后引用命名空间,然后在program里 JiaJian c = new JiaJian();  JiaJian是class类名
    
        }
    }
  • 相关阅读:
    最值
    算数平均值/加权平均值
    jdbatemplate使用
    所有正规jar包
    java代码在计算机中经历的三个阶段,反射的原理
    lambda函数式编程思想
    重写equals方法
    安全牛-弱点扫描
    安全牛-主动收集
    安全牛-被动收集
  • 原文地址:https://www.cnblogs.com/yunpeng521/p/7105868.html
Copyright © 2011-2022 走看看