zoukankan      html  css  js  c++  java
  • 深入C#数据类型

    1.数据类型按存储方式可分为两类:

    值类型(源于System.ValueType)

    引用类型(源于System.Object)

    2.结构的定义:

    结构中可以有字段也可以有方法

    定义时,结构中的字段不能被赋初值

    3.结构的使用:

    可以不用new,直接定义结构的对象即可

    (前提该属性的类型不是数值类型)

    声明结构的对象后,必须给结构的成员赋初值

    4.结构是值类型类是引用类型

    结构体中没有默认构造函数,但类中有默认构造函数

     5.装箱和拆箱:

    装箱:将值类型(栈)转换成引用类型(栈堆)

    拆箱:从引用类型(栈堆)转换成值类型(栈)

    由于装箱和拆箱对系统性能损耗很大,所以在真实的开发中我们尽量避免装箱和拆箱的操作。

    6.

    如果方法的参数类型本身是值类型,又没有ref修饰,那么对参数值的修改,不会永久保存

    如果方法的参数类型本身是值类型,但是有ref修饰,那么对象参数值的修改,也会永久保存。

     值类型传递 :不带ref的参数传递  

    引用类型传递:带ref的参数传递

    引用类型的内存原理图:

    数组赋值原理图

    结构体:

    结构体不用new,就可以直接对其属性赋值

    结构体中可以有字段,属性和方法

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

    在结构体中不能给字段赋初值,但是类中可以.

    结构体中没有默认构造函数,但类中有默认构造函数

  • 相关阅读:
    正向代理和反向代理
    负载测试和压力测试
    cs 与 bs 架构
    什么是amcl
    一个故事告诉你比特币的原理及运作机制
    Tor Browser(洋葱浏览器)——一款使你匿名上网的浏览器
    CAS3.5.x(x>1)支持OAuth2 server
    帮你深入理解OAuth2.0协议
    使用Spring MVC统一异常处理实战
    tcpdump非常实用的抓包实例
  • 原文地址:https://www.cnblogs.com/luoxionghenku/p/8159187.html
Copyright © 2011-2022 走看看