码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【从头构筑C#知识体系】0.3 值类型和引用类型


    【系列文章目录】


    文章目录

    • 【系列文章目录】
    • 前言
    • 一、值类型
      • 值类型直接存储值
      • 值类型存储在栈中
      • 常见值类型有
    • 二、引用类型
      • 引用类型存储对值的引用
      • 引用类型存储在堆中
      • 常见引用类型有
    • 思维导图


    前言

    本篇介绍值类型和引用类型

    【C#文档——值类型】
    【C#文档——引用类型】


    一、值类型

    文档中的描述:

    值类型的变量包含类型的实例

    一句话概括值类型的特点就是

    • 值类型直接存储值

    • 值类型存储在栈中

      值类型存储在栈中,而栈内存比堆内存释放要快

    在C#中

    • 常见值类型有

      • 整型数值类型
        • sbyte
          • 取值范围:-128到127
          • 大小:8位带符号整数
        • byte
          • 取值范围:0 到 255
          • 大小:无符号的 8 位整数
        • short
          • 取值范围:-32,768 到 32,767
          • 大小:有符号 16 位整数
        • unshort
          • 取值范围:0 到 65,535
          • 大小:无符号 16 位整数
        • int
          • 取值范围:-2,147,483,648 到 2,147,483,647
          • 大小:有符号的 32 位整数
        • uint
          • 取值范围:0 到 4,294,967,295
          • 大小:无符号的 32 位整数
        • long
          • 取值范围:-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
          • 大小:有符号的64 位整数
        • ulong
          • 取值范围:0 到 18,446,744,073,709,551,615
          • 大小:无符号 64 位整数
        • nint
          • 取值范围:取决于在运行时计算的平台 ()
          • 大小:有符号的 32 位或 64 位整数
        • nuint
          • 取值范围:取决于在运行时计算的平台 ()
          • 大小:无符号的 32 位或 64 位整数
      • 浮点型数值类型
        • float
          • 大致范围:±1.5 x 10−45 至 ±3.4 x 1038
          • 精度:6-9 位数字
          • 大小:4 个字节
        • double
          • 大致范围:±5.0 × 10−324 到 ±1.7 × 10308
          • 精度:15-17 位数字
          • 大小:8 个字节
        • decimal
          • 大致范围:±1.0 x 10-28 至 ±7.9228 x 1028
          • 精度:28-29 位
          • 大小:16 个字节
      • 布尔型
        • bool
          • 取值:0(false)或1(true)
          • 大小:1字节
      • 字符型
        • char
          • 取值:U+0000 到 U+FFFF
          • 大小:16位
      • 结构体
        • struct

    二、引用类型

    文档中的描述:

    引用类型的变量存储对其数据(对象)的引用
    对一个变量执行的操作会影响另一个变量所引用的对象。

    一句话概括值类型的特点就是

    • 引用类型存储对值的引用

    • 引用类型存储在堆中

      引用类型存储在堆中,而堆内存比栈内存释放要慢,需要GC来完成垃圾回收

    在C#中

    • 常见引用类型有

      • 类(class)
      • 接口(interface)
      • 委托(delegate)
      • 字符串(string)
      • 对象类型(object)
      • 动态类型(dynamic)
      • 记录(C#9.0)

    思维导图

    值类型与引用类型
    值类型
    引用类型
    值类型直接存储值
    值类型存储在栈中
    常见值类型
    引用类型存储对值的引用
    引用类型存储在堆中
    常见引用类型
    整型数值类型
    浮点型数值类型
    布尔型
    字符型
    结构体
    类
    接口
    委托
    字符串
    对象类型
    动态类型
    记录
  • 相关阅读:
    两道相似的三维dp动态规划题
    对象json文件转换
    第二章 进程与线程 十六、信号量机制
    Oracle 11g RAC部署笔记
    如何把“中式发音”调整到机器偏爱的口音?Elena老师带你详解突破点!
    【.net core】yisha框架bootstrapTreeTable组件实现行点击事件
    Linux 守护进程
    Vue项目中配置eslint
    【线性代数】第五章-线性方程组
    重磅发布!汉威科技燃气安全一站式解决方案全面覆盖燃气安全最新需求
  • 原文地址:https://blog.csdn.net/ruanlinxi1994/article/details/125521867
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号