• NET基础学习笔记3


    一。枚举内容。

    二。sturct结构内容。

    三。类型转换。

    四。值类型和引用类型。

    五。ref

    一。枚举

    【Flags】//标记枚举,加上这个特性后枚举类型.ToString,返回的就是文字形式,不是数字了。

    这是特殊枚举,可以组合,赋值的时候用2的次方赋值。

    赋值的时候用“|”,验证的时候用“&”

    GoodPeople lyh=GoodPeople.白|GoodPeople.富

    if((lyh&GoodPeople.白)==GoodPeople.白){}

    [Flags]

    public  enum GoodPeople{

               白 =1,

               富=2

    }

    二。struct 结构:

    如果需要面向对象的特性,如果存储的数量比较大,使用类。

    如果存储的数据量比较小,不需要面向对象的特性,使用结构。

    1.结构与类的最大最大区别:

    结构是值类型,类是引用类型。

    2.结构不能继承,但是可以实现接口

    三。类型转换:

    当小范围的转换成大范围的,就会发生隐形转换。

    把学生转换为人是隐形转换。把人转化为学生则是显示转换(强制转换)

    用int.Parse(n) 会抛出异常。

    用int.TryParse(n,out result);不会抛异常,如果转换失败的时候会返回0;

    四。值类型,引用类型的区别。

    值类型均隐形派生自System.ValueType

    数值类型,bool,结构,枚举,

    引用类型派生自System.Object

    字符串,数组,类,接口等。

    引用类型的变量的赋值只复制对对象的引用。

    值类型变量赋值会拷贝一个副本。

    值类型是,创建的时候在栈上开辟一个空间。

    引用类型是,在栈上开辟一个空间,在里面放上地址,然后指向堆。创建在堆上创建了一个对象空间。对象上有个地址。

    五。ref ,out

    值传递:传递的是栈中的内容。

    ref引用传递:传递的是栈本身的地址。就是把栈里面的地址,复制一个给那个值。而不是开辟一个新的空间。

    对于值类型来说:栈中存储的就是直接使用的数据。

    对于引用类型来说:栈中存储的是堆中对象的地址。

    参数传递的时候:

    1>值传递,传递的是栈中保存的数据。

    2>引用传递,传递的是栈本身的地址。

    ref 在传入的时候必须先赋值。out在传入的时候,可以不赋值,但是在返回的时候,必须赋值。

    ref主要是把一个值,带进去,再带出来。

    out主要是把一个值返回。

    六。异常:

    错误一般分:语法错误,逻辑错误。运行中发生的错误。叫异常。

    finally:

    1.在finally块中的代码,即便某些异常没有被捕获,程序崩溃了,也要执行。

    2.即便在try块中,有return语句,finally块中的代码还是会执行。

    七。可变参数 Params

    可变参数可以传一个值,也可以传多个参数,也可以不传参数。

    如果不为可变参数传值,则可变参数的数组是一个长度为0的数组,但是,不是null。

    当一个方法中有多个参数时,并且还包含可变参数。可变参数只能放在方法的最后面。

    static int Add(params int[] arrInt){}

  • 相关阅读:
    javascript入门 之 zTree(十四 增删查改)(二)
    javascript入门 之 zTree(十四 增删查改)(一)
    javascript入门 之 zTree(十三 移动/复制事件)
    javascript入门 之 bind() (二)
    javascript入门 之 zTree(十二 托拽事件(二))
    javascript入门 之 zTree(十一 托拽事件(一))
    Java 使用 switch 语句和枚举类型
    微信公众号开发(四)—— 自定义菜单的创建
    微信公众号开发(三)——获取 Access_Token
    微信公众号开发(二)—— 图文消息
  • 原文地址:https://www.cnblogs.com/huijie/p/3188217.html
Copyright © 2020-2023  润新知