C#中的变量类型(值类型、引用类型)

C#中的变量类型:

 

值类型:值类型直接存储的是变量的值,变量空间在栈上分配,分配速度比较快。给变量赋值时需注意变量类型的取值范围,给变量赋不合理的值会导致编译器报错。布尔类型的变量只有两种可选择的值true/false,布尔值的默认值是false。

  • 整型:sbyte、short、int、long、byte、ushort、uint、ulong

  • 浮点型:float 、double、decimal

小数默认为double类型,若需指定小数值的类型则可以在小数后加f或F,如1.234f或1.234F表示该值为float类型,如2.345d或2.345D表示该值为double类型。

需要注意浮点类型中的特殊类型decimal类型,该类型一般在货币计算等需要高精度数据的场合中使用。

float 、double、decimal的对比:

float 有效数字7位,范围bai ±1.5 × 10E−45 to ±3.4 × 10E38
       double 有效数字15/16 位,范围 ±5.0 × 10 E−324 to ±1.7 × 10E308
       decimal 有效数字 28/29 位,范围 ±1.0 × 10E−28 to ±7.9 × 10E28

1)表示数的范围 decimal<float<double,其中decimal表示数的范围最小而不是最大

2)表示数的精度float<double<decimal,其中decimal表示的数的精度最高

  • 字符型:char
  • 布尔型:bool

布尔类型的变量只有两种可选择的值true/false,布尔值的默认值是false。

  • 结构类型:struct
  • 枚举类型:enum

 

引用类型:引用类型存储对值的引用,class、interface、delegate、object、string、Array

C#中预定义的引用类型有两种,为object和string类型。

  • object类

object和System.Object等价,object类是所有类和变量类型的基类,在定义类时会自动继承object类,因此定义类时后面的从object继承的标识可以省略。

  • string类

需要注意的是:string类型是一种特殊的引用类型,string类型变量的值一旦初始化就不能再改变。因此,下图中str1 = "ASP.NET"实际上并不是将之前定义的str1的值修改为"ASP.NET",而是重新生成了一个对象,将该对象的值赋值为"ASP.NET"。

 

 

 

 

 

 

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

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

相关文章

Java:IDEA下使用JUNIT

单元测试的基本使用 一、环境配置 使用idea IDE 进行单元测试&#xff0c;首先需要安装JUnit 插件。 1.安装JUnit插件步骤 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。 2.使用JUnit插件 在需要进行单元测试…

arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践

0.前言StarryFun&#xff1a;Unity游戏开发——关于单例模式的理解​zhuanlan.zhihu.com之前一篇文章讲了单例模式的简单理解&#xff0c;自知其中有很多不严谨的地方&#xff0c;由于本萌新也是在学习阶段&#xff0c;所以去翻看了开源的项目都是怎么实现的&#xff0c;发现了…

光耦的简介

光耦&#xff0c;光电耦合器的简称&#xff0c;它是以光信号作为介质传输电信号的元器件。光耦的输入端和输出端信号可以非常好的进行隔离&#xff0c;因此在隔离电路中经常会见到光耦。光耦合器一般由三部分组成&#xff1a;光的发射、光的接收及信号放大。输入的电信号驱动发…

接待员如何向客人upsell_客房留言卡也能收获好评,看看高情商酒店如何做的?...

客人对酒店最客观的评价从点评中就能看到&#xff0c;那酒店服务如何才能被客人看到呢&#xff1f;可不可以通过一张留言卡&#xff0c;被客人感知到呢&#xff1f;本文整理了多个客房服务实际场景案例&#xff0c;帮助酒店了解如何写好这张留言卡。一、什么场景下放置留言卡&a…

“2020 RT-Thread开发者大会” 思考感悟

从2019年开始参加RT-Thread的一次线下培训活动后&#xff0c;就深深的喜欢上这个国产的RTOS&#xff0c;之后RT-Thread举办的活动基本都有参加&#xff08;但每次活动抽奖都抽不到&#xff01;&#xff09;。当然&#xff0c;最为盛大的还属一年一度的RT-Thread开发者大会&…

小红书笔记_小红书的沙雕笔记,害人不浅啊

话说&#xff0c;当代人的十大必备软件是什么&#xff1f;要猫姐来说的话。除了微信微博抖音&#xff0c;小红书也肯定少不了&#xff01;它简直就是大部分PLMM的“种草神器”。就连明星都纷纷入驻小红书变身为“美妆博主”。前一阵上了热搜榜和李晨分手的范冰冰也是小红书的一…

2020 RT-Thread开发者大会 ART-Badge电子胸牌(可二次开发)

2020 RT-Thread开发者大会 ART-Badge电子胸牌&#xff08;可二次开发&#xff09;&#xff0c;动手实验IOT会场有介绍使用PersimmonUI设计器进行柿饼UI的开发&#xff0c;使用拖拽控件、注册事件的方式进行GUI的开发。开发语言使用JS&#xff0c;界面实现非常方便&#xff0c;后…

datatables分页下一页不能点击_干货,删不掉Word文末最后一页?学会5个方法,再也不愁啦...

在处理Word文档时&#xff0c;经常会在文档最后出现一页空白&#xff0c;非常讨厌&#xff0c;更可恶的是总是删不掉&#xff0c;按退格键或者delete键都无济于事。你是不是也正在为删除Word文末空白页发愁呢&#xff1f;有没有好的方法解决这一问题呢&#xff1f;有的&#xf…

计分员计分程序

1.估计这个任务需要多长时间&#xff1a;两星期 2.需求分析&#xff1a; 作为一名现场记分员&#xff0c;我希望详细记录比赛现场比分增长情况&#xff0c;以便观众及运动员、教练员及时掌握比赛状况。&#xff08;满意条件&#xff1a;每一次比分的改变&#xff0c;都要形成一…

蓝牙入门基础知识(一)

蓝牙起源 1995年5月20日&#xff0c;在美国华盛顿州&#xff0c;索尼爱立信、IBM、英特尔、诺基亚、东芝成立了蓝牙技术联盟&#xff08;Bluetooth Special Interest Group&#xff0c;SIG&#xff09;。SIG是一个制定蓝牙规范&#xff0c;推送蓝牙技术发展的国际组织。SIG授权…

C#语言入门详解---委托(刘铁猛)

委托&#xff1a;函数指针的升级版&#xff0c;可以类比C语言中的函数指针进行理解 变量的本质就是以变量名所对应的内存地址为起点的一段内存&#xff0c;这段内存中存储的就是变量的数据&#xff0c;这段内存的大小由变量的数据类型决定。 函数代表算法&#xff0c;函数的本…

单元测试原来是这样的呼

我们要先创建一个界面&#xff1a; 显示的界面是这样的&#xff1a; 接下来我们来写java代码&#xff0c; 在输入框里的内容&#xff0c;点击button&#xff0c;将数据显示到上面的textview. 后面写测试用例&#xff0c;但我不知道哪里出错了&#xff0c;不知道是不是创建就出错…

C#中宏定义#define、预处理#if #else #endif的使用

C#中预处理的使用&#xff1a; 预处理指令并不会被编译为执行代码中的指令&#xff0c;但使用预处理指令可以选择编译程序中的哪部分代码。一般在调试代码时或在发布不同功能等级的软件版本中使用。 需要特别注意的是&#xff0c;宏定义必须在C#的.cs源文件最开头的位置定义&am…

C# 串口接收1次数据会进入2次串口接收事件serialPort1_DataReceived,第2次进入时串口缓冲区为空

在C#中使用串口接收数据时发现&#xff0c;在完整的接收完一次数据后&#xff0c;还会再次进入串口接收事件。 在网上搜索资料发现其他开发者也有遇到该问题&#xff1a; [1] c#串口事件接受一次数据莫名其妙会触发两次 原文链接&#xff1a;https://www.52pojie.cn/threa…

C#控件跨线程内容更新

在使用C#开发winform应用程序时&#xff0c;经常会碰到对控件跨线程访问造成的异常。在winform中UI线程和工作线程是分开的&#xff0c;但在实际使用中经常会需要在工作线程更新UI线程中创建的控件。 方法1&#xff1a;禁用跨线程访问控件检测 .NET默认开启了禁止跨线程控件访…

document.addeventlistener方法不执行_JUnit 5 测试方法的执行优先级

前言使用单元测试有时对方法的执行顺序有要求&#xff0c;而默认情况下测试方法的执行并非按照编写顺序&#xff0c;这就导致测试用例因执行顺序而导致的不通过。这里我使用的JUnit版本是5.6.2&#xff0c;下面讲述如何自定义测试方法的执行优先级。TestMethodOrder这个注解标注…

2异常处理_Java处理异常2种机制关键字区别解析

在异常处理的过程中,throws和throw的区别是?throws:是在方法上对一个方法进行声明,而不进行处理,而是向上传,谁调用谁处理.throw:是在具体的抛出一个异常类型.throws的栗子:throws的话,就是这个方法有可能会产生异常,而我只是将它声明出去,我自己不处理,如果有人调用的时候,可…

TL431的用法

TL431是可控精密稳压源。它的输出电压用两个电阻就可以设置从Vref&#xff08;2.5V&#xff09;到36V范围内的任何值。该器件的典型动态阻抗为0.2Ω&#xff0c;在很多应用中用它代替稳压二极管&#xff0c;例如&#xff0c;数字电压表&#xff0c;运放电路&#xff0c;可调压电…

AD16原理图.schdot中批量修改标签中的文本字体、大小、颜色

1&#xff09;使用鼠标左键区域选中需要修改的文本&#xff0c;或按住shift键使用鼠标左键选择分布在图中各处的需要修改的文本 2&#xff09;按住shift键&#xff0c;鼠标左键双击选中的任一文本&#xff0c;弹出如下的SCH Inspector弹窗 3&#xff09;在SCH Inspector弹窗中…

12v小型电机型号大全_鄂破碎机型号大全图,小型鄂破碎机价格

鄂破碎机&#xff0c;粗碎加工主力配置&#xff0c;因为使用频繁&#xff0c;很多案例都少不了&#xff0c;所以设备生产厂家有很多&#xff0c;但是随时鄂破碎机的机型更新&#xff0c;核心性能越来越完善&#xff0c;整机时产更高&#xff0c;而且环保性能更强悍。鄂破碎机型…