zoukankan      html  css  js  c++  java
  • C#从零单排上王者系列---数据类型

    从零单排系列简介

    突然发现自己的基础不是很牢固,就买了一个《C#7.0的本质论》。本系列博客就是以此书为本,记录自己的学习心得,如果你的基础也不牢固,不如跟上博主一起学习成长呀!

    本篇博客会从如下几个方面来讲解知识

    • 为什么要定义数据的类型
    • 数据类型都有哪些
    • 值类型和引用类型有什么区别呢?

    为什么要定义数据类型

    日常生活中我们能够一眼看出数据的分类,但是计算机不行所以我们需要定义数据类型,让操作系统给我们分配一块合适的内存存储不同类型的数据方便使用。

    数据类型都有哪些

    • 值类型

      • 整数类型
      类型 大小 范围
      sbyte 8 -128~127
      byte 8 0~255
      short 16 -32768~32767
      uhort 16 0~65535
      int 32 -2147483648~2147483647
      uint 32 0~4294967295
      long 64 -9223372036854775808~9223372036854775807
      ulong 64 0~18446744073709551615
      • 浮点类型
      类型 大小 有效数位
      float 32 7
      double 64 15~16

      浮点数精度超出有效位数就会被舍弃并且在分母不是2的整数次幂会造成精度丢失

      • decimal类型
      类型 大小 有效数位
      decimal 128 28~29

      和浮点数不同的是decimal在10进制数都是精确的,所以常用在金融方面。

      • 布尔类型
        就是表示true或者false

      • char类型
        可以理解为单个字符

    • 引用类型

      string类型

    值类型和引用类型有什么区别呢

    区别在于值类型的数据总是复制值;引用类型的数据总是复制引用。
    上面的话好像很拗口其实简单来说就是值类型每次都是把内存中存储的值赋给新的变量是俩块内存,引用类型是把内存中的一个地址指向赋给新的变量共享同一块内存。

  • 相关阅读:
    Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能
    linux irq 自动探测
    gpio子系统和pinctrl子系统(下)
    gpio子系统和pinctrl子系统(中)
    gpio子系统和pinctrl子系统(上)
    linux驱动基础系列--linux spi驱动框架分析
    linux驱动基础系列--linux rtc子系统
    linux驱动基础系列--Linux I2c驱动分析
    camera驱动框架分析(上)
    camera驱动框架分析(中)
  • 原文地址:https://www.cnblogs.com/liyufeia/p/11336018.html
Copyright © 2011-2022 走看看