刘铁猛C#教程笔记——详解类型,变量,和对象第1节

news2024/10/5 21:16:20

强/弱类型语言

  1. 强类型语言:所谓强类型语言就是变量的值十分依赖变量的类型,也就是说假如一个变量其类型是整型,那么你在为该整型变量进行赋值的时候就不可以为其赋值一个字符串类型的常量,C#语言就是典型的强类型语言
  2. 弱类型语言:所谓弱类型语言,是变量的值不依赖于变量的类型或者说和变量的类型没有关系,典型的比如python语言,假设我们声明了一个变量a,刚开始时我们为其赋值:a=10;之后我们又为其赋值另外一种类型的常量,如字符串类型常量,a="hello",这是可以的,也就是说,对于一个变量我们可以为其赋值任意一种类型的常量,这就是弱类型语言,而C#语言也有实现类似于弱类型语言的这种特性的机制,如声明一个dynamic类型的C#变量c,那么就可以为变量c赋值任意一种类型的常量;

C#语言中类型的作用

  1. 类型可以指明一个变量再内存中的存储容量,比如int类型,其在内存中占据4字节的空间,而long类型,其在内存中占据8字节大小的空间
  2. 指明变量可以进行的操作,如整型可以进行加减乘除,字符串类型可以进行连接,转换大小写操作等
  3. 指明其基类都有哪些
  4. 指明其具有那些成员(属性,方法,事件等)
  5. 指明此类型的值的最大值和最小值
  6. 指明其存放在内存中的哪块空间里面(是存放在堆heap空间中,还是存放在栈空间中)  

堆空间和栈空间


  1. 静态程序和动态程序:所谓静态程序就是没有运行的程序,即在编辑器和编译器中存在的程序就是静态程序,而动态程序是指,当我们编译好程序进行运行或者debug的时候的程序就是动态程序,静态程序存放在外存磁盘上,而动态程序是存放在内存空间中的
    当我们运行程序的时候,首先要从硬盘中将程序读取到内存中,读取到内存中运行的程序既叫做动态程序,也叫做进程 ,程序读取到内存中需要解决其存储问题,程序将内存分为两块区域,一个区域是栈(stack)空间,一个区域是堆(heap)空间,程序中出现的方法存放于栈空间中,而实例对象存放在堆空间中,栈空间比较小,若我们的程序算法不当就会造成栈溢出,而堆空间的容量相对较大,但是当我们给对象分配堆空间,用完之后却不释放该堆内存的话就会造成内存泄漏;C#有很好的垃圾回收机制会自动的在合适的时间帮我们回收被对象占用的堆空间;
  2. 查看进程占用的堆空间的容量的变化情况的方法

    按住windows+r,打开运行窗口,输入perfmon(performance monitor),按住enter键,进入如下界面

    点击性能监视器 

    此时显示的是cpu的占有率即cpu的忙碌时间占比,我们想要查看某个进程占据的堆空间的容量大小变化情况的话,可以:点击面板上红色的X,然后再点击面板上的+号进入如下界面在计数器选项下拉列表中找到prosess,点击process,然后再从process的下拉列表中找到private bytes,private bytes就是指进程占用的堆空间,然后再在对象中选择你想要观察的进程对象,点击添加->确定即可。

     

     祝学习进步,生活愉快!!

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# 颠倒二进制位

190 颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的…

微软MFC技术中的消息循环

我是荔园微风,作为一名在IT界整整25年的老兵,今天来聊聊微软MFC技术中的消息循环。 在很多windows程序中,都有如下代码: //Win32应用程序入口函数WinMain() int WINAPI WinMain(HINSTANCE hInstance, //指向当前实例的句柄…

全链路Python环境迁移

全链路Python环境迁移 在当前的Python环境中,安装一些库以后,如果换了一套Python环境,难道再来一次不停的pip install?当然不是。 第一步,使用pip freeze(冻结)备份当前Python库的环境 pip f…

《微服务架构设计模式》第六章 使用事件溯源开发业务逻辑

内容总结自《微服务架构设计模式》 使用事件溯源开发业务逻辑 一、传统持久化技术的问题二、什么是事件溯源三、好处和弊端四、实现事件存储库五、与Saga结合六、总结 一、传统持久化技术的问题 1、对象与关系的"阻抗失调" 所谓的对象与关系的“阻抗失调”是一个古…

ThreadLocal与InheritableThreadLocal及线程池的影响

在web开发中使用了ThreadLocal本地线程存储拦截器解析的用户信息,方便在下文代码中调用,但是在springboot中使用Async开启异步操作时,就会造成,子线程无法拿到父本地线程数据。拿到一些脏数据。 1.InheritableThreadLocal 在这个…

常用技巧总结

本文总结了本人在日常工作学习中遇到的问题及其解决方法,没有固定的涉及领域 目的就是为了在下一次遇到类似问题的时候方便查找,从而快速解决问题 本文不定时更新~ 目录 Windows使用 如何实现桌面图标随意排列 文件资源管理器相关 显示隐藏文件 修改…

深度学习06-深度卷积生成对抗网络(DCGAN)

文章目录 概述原理简介专业术语零填充转置卷积 生成动漫图像算力选择数据集目录规划源代码数据源加载定义配置类定义模型 训练可视化绘制损失绘制生成器图像变化 其他项目CycleGANstargan 概述 GAN(Generative Adversarial Network)是一种生成模型&…

flutter开发实战-日志logger写入文件及print

flutter开发实战-日志logger写入文件及print 在开发中,需要日志logger写入文件,方便日后查看出现的问题。这里记录之前的实现方案。 使用的日志插件是logger 一、引入日志插件 在工程中pubspec.yaml引入logger logger: ^1.4.0二、代码实现 使用比较…

听GPT 讲K8s源代码--pkg(一)

在 Kubernetes 代码仓库中,pkg/api和pkg/apis目录都包含用于定义 Kubernetes API 对象的代码,但它们的作用略有不同。 pkg/api目录包含 Kubernetes 的旧版本 API 对象定义,这些定义在 Kubernetes 1.7 版本之前使用。这些对象定义已经过时&…

第四课:Figma 图标设计

图形绘制小技巧 绘制正圆 O shift 正方体 R shift,右侧属性面板可调整描边显示方向,描边类型; 直线 L shift 带角度的箭头 shift L ,按住 shift 键调整以 45 度角调整箭头方向,右侧属性面板可调节箭头方向和线条…

文献里的分子对接方法2

珍珠贝肉水解物中的新型抗氧化肽以及它们的抗氧化活性机制。 关于摘要: 自由基和衰老以及很多疾病都有关联。 抗氧化肽具有良好的抗氧化活性和吸收性,是抗氧化剂研究的热点之一。 这篇文献的研究中,纯化珍珠贝肉水解液、经过蛋白质组学鉴定…

大模型与端到端会成为城市自动驾驶新范式吗?

摘要: 最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道,他们背后所依靠的正是当下最热的大模型和端到端的技术。 近期,城市自动驾驶量产在产品和技术上都出现了新的变化。 在产品层面,出现了记性行车或者称…

【python】逻辑中断(and or)

今天学习javascript的时候竟然有一个额外收获:逻辑中断。而且我实验了一下,逻辑中断同样适用于python。 0 and 2返回: 0 1 and 2返回: 2 0 and 2返回的是0,而1 and 2返回的是2。就是因为在0那里出现了逻辑中断。 解…

Git的使用以及在IDEA2022中使用Git

目录 前言 一、Git下载与安装 二、Git常用命令 1.全局设置 2.获取Git仓库-在本地初始化Git仓库 3.获取Git 仓库-从远程仓库克隆 4.Git工作区、暂存区、版本库 概念以及工作区中文件状态 (1)工作区、暂存区、版本库 (2) G…

centos7.9 rc.local启动失败

最近在虚拟机上整个centos7.9,想要把程序设置成开机自启动,发现rc.local状态是failed,重启服务器也没用。 自己之前写过两篇相关的博客 centos7重启后/etc/rc.local中的脚本没有执行_lanren312的博客-CSDN博客 centos7开机运行java的sh脚本…

Sui 8192:如何使用Sui对象撼动游戏领域

Ethos通过其Sui 8192游戏不仅展示了对象在Sui上的力量,还展示了基于对象的游戏如何有力地撼动游戏行业。每个玩家在移动游戏中的方块时都会铸造一个新的对象,类似于铸造NFT,这为每个独立玩过的游戏提供了永久上链的机会。 Sui 8192游戏的规则…

10.4.4 终端机的环境设置: stty, set

在 tty1 ~ tty6 这六个命令行的终端机(terminal) 环境中登陆,登陆的时候我们可以取得一些字符设置的功能。举例来说,我们可以利用倒退键 (backspace,就是那个←符号的按键) 来删除命令列上的字符…

强化学习模型

目录 引言 1 强化学习的理论基础 2 强化学习的实践 3实战案例:自动驾驶

【InnoDB 存储引擎】InnoDB 数据页格式(详细版,数据页格式对于理解索引详细的原理很重要)

文章目录 1 InnoDB 数据页结构1.1 File Header2.2 Page Header2.3 Infimum 和 Supremum Record2.4 User Record 和 Free Space2.5 Page Directory(InnoDB 数据页结构最重要的部分)2.6 File Trailer 2 参考资料 1 InnoDB 数据页结构 我们已经知道页是 In…

PS 2023 24.7 Beta Ai 如何解决橙色错误弹窗问题?

距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年,最近该公司又再次书写了属于Photoshop的历史新篇章。 Adobe 发布的 Photoshop(Beta)新增「创意填充(Generative Fill)」功能&…