C# 语言类型(一)—预定义类型值之数值类型

总目录
C# 语法总目录

参考链接:
C#语法系列:C# 语言类型(一)—预定义类型值之数值类型
C#语法系列:C# 语言类型(二)—预定义类型之字符串及字符类型简述
C#语法系列:C# 语言类型(三)—数组/枚举类型/结构体
C#语法系列:C# 语言类型(四)—传递参数及其修饰符
C#语法系列:C# 语言类型(五)—其他

C# 语言类型一 —预定义类型:数值类型

    • C# 语言类型一
      • 预定义类型
        • 1. 数值类型
          • 1.1数值类型字面量表示
          • 1.2 获取某个值的类型
          • 1.3 float 和 double 类型的特殊值
        • 2. 算术运算
          • checked 和 unchecked 运算符
        • 3. 位运算符
        • 4. 比较运算和条件运算

C# 语言类型一

注释

//单行注释/// <summary>
/// 方法注释
/// </summary>
/// <param name="args">方法参数</param>/*
多行注释
*/

预定义类型

预定义类型又称框架类型,它们都在 System 命名空间下。

预定义类型又可以细分为 值类型 ,和 引用类型

(1) 值类型

  值类型包含 所有的数值类型char类型bool类型自定义的 struct 类型enum 类型

(2) 引用类型

 引用类型包含 所有的类数组委托接口类型 以及 预定义类型中的 string类型

值类型:

  • 数值
    • 有符号整数(sbyte,short,int,long)
    • 无符号整数(byte,ushort,uint,ulong)
    • 实数(float,double,decimal)
  • 逻辑值(bool)
  • 字符(char)

引用类型:

  • 字符串(string)
  • 对象(object)

值类型大小

namespace TopSet06
{internal class Program{static void Main(string[] args){Console.WriteLine("-------字节型-------");Console.WriteLine("有符号 sbyte is: "+ sizeof(sbyte));Console.WriteLine("无符号 byte is: " + sizeof(byte));Console.WriteLine("-------短整型-------");Console.WriteLine("有符号 short is: " + sizeof(short));Console.WriteLine("无符号 ushort is: " + sizeof(ushort));Console.WriteLine("-------整型-------");Console.WriteLine("有符号int is: " + sizeof(int));Console.WriteLine("无符号uint is: " + sizeof(uint));Console.WriteLine("-------长整型-------");Console.WriteLine("long is: " + sizeof(long));Console.WriteLine("ulong is: " + sizeof(ulong));Console.WriteLine("-------浮点型-------");Console.WriteLine("float is: " + sizeof(float));Console.WriteLine("double is: " + sizeof(double));Console.WriteLine("-------十进制小数-------");Console.WriteLine("decimal is: " + sizeof(decimal));Console.WriteLine("-------布尔型-------");Console.WriteLine("bool is: " + sizeof(bool));Console.WriteLine("-------字符型-------");Console.WriteLine("char is: " + sizeof(char));Console.ReadLine();}}
}
--输出
-------字节型-------
有符号 sbyte is: 1
无符号 byte is: 1
-------短整型-------
有符号 short is: 2
无符号 ushort is: 2
-------整型-------
有符号int is: 4
无符号uint is: 4
-------长整型-------
long is: 8
ulong is: 8
-------浮点型-------
float is: 4
double is: 8
-------十进制小数-------
decimal is: 16
-------布尔型-------
bool is: 1
-------字符型-------
char is: 2
1. 数值类型
1.1数值类型字面量表示

数值类型字面量有一些表示特性,简化程序员工作

namespace TopSet07
{internal class Program{static void Main(string[] args){int a = 0x560;//需要C#7.0以上int b = 0b00101010;//需要C#7.0以上,并且vs版本需要2022 17.9以上int c = 1_000_000_1_20;double d = 1e10;double D = 1E10;double e = 1.5;//float 类型需要添加末尾的f 或 F 大小写都行float f = 1.5f;//float 类型需要添加末尾的m 或 M 大小写都行decimal g = 3.1415m;Console.WriteLine(a);Console.WriteLine(b);Console.WriteLine(c);Console.WriteLine(d);Console.WriteLine(D);Console.WriteLine(e);Console.WriteLine(f);Console.WriteLine(g);Console.ReadLine();}}
}--输出
1376
42
1000000120
10000000000
10000000000
1.5
1.5
3.1415
1.2 获取某个值的类型
namespace TopSet08
{internal class Program{static void Main(string[] args){Console.WriteLine(10.0.GetType());int a = 12;Console.WriteLine(a.GetType());Console.ReadLine();}}
}
--输出
System.Double
System.Int32
1.3 float 和 double 类型的特殊值
Console.WriteLine("------float------");
Console.WriteLine(float.PositiveInfinity);
Console.WriteLine(float.NegativeInfinity);
Console.WriteLine(float.Epsilon);
Console.WriteLine(float.MaxValue);
Console.WriteLine(float.MinValue);
Console.WriteLine(float.NaN);
Console.WriteLine("------double------");
Console.WriteLine(double.PositiveInfinity);
Console.WriteLine(double.NegativeInfinity);
Console.WriteLine(double.Epsilon);
Console.WriteLine(double.MaxValue);
Console.WriteLine(double.MinValue);
Console.WriteLine(double.NaN);
//NaN不等于任何数,包括NaN
//要判断是不是NaN ,只能用方法 IsNaN 来判断
Console.WriteLine("------IsNaN------");
Console.WriteLine(float.NaN == double.NaN);     //false
Console.WriteLine(float.IsNaN(float.NaN));      //trueConsole.ReadLine();
--输出
------float-------1E-45
3.4028235E+38
-3.4028235E+38
NaN
------double-------5E-324
1.7976931348623157E+308
-1.7976931348623157E+308
NaN
------IsNaN------
False
True
2. 算术运算

加减乘除取余

自加自减,案例略。

checked 和 unchecked 运算符

checked

checked 运算符可以检查算术是否溢出,在checked中溢出会报错。

浮点类型的无法使用该检查,因为浮点溢出会变为无穷值。

int a = 1_000_000;
int c = checked(a * a);
--输出报错
Unhandled exception. System.OverflowException: Arithmetic operation resulted in an overflow.at

unchecked

不管里面是否溢出都不管,溢出了也不报错

int a = 1_000_000;
int b = unchecked( a*a);
Console.WriteLine(b);
--输出
-727379968
3. 位运算符

左移<< , 右移 >> , 异或 ^ , 按位或 | , 按位与 & , 按位取反 ~

4. 比较运算和条件运算

比较运算:>= , <= ,== , != , > , <

条件运算: ||,&& , w? a:b

总目录
C# 语法总目录

参考链接:
C#语法系列:C# 语言类型(一)—预定义类型值之数值类型
C#语法系列:C# 语言类型(二)—预定义类型之字符串及字符类型简述
C#语法系列:C# 语言类型(三)—数组/枚举类型/结构体
C#语法系列:C# 语言类型(四)—传递参数及其修饰符
C#语法系列:C# 语言类型(五)—其他

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

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

相关文章

Ubuntu 安装 wine

本文所使用的 Ubuntu 系统版本是 Ubuntu 22.04 ! 如果你使用 Ubuntu 系统&#xff0c;而有些软件只在 Windows 上运行&#xff0c;例如&#xff1a;PotPlayer&#xff0c;那么该如何在 Ubuntu 系统中使用到这些 Windows 的软件呢&#xff1f;答案是安装 wine。 简单的安装步骤如…

IDEA使用SCALA

一、在IDEA中下载插件 在设置->插件中找到scala&#xff0c;并下载。 下载完成后重启idea 二、在idea中创建spark的RDD操作项目 新建项目选中Scala。 创建完成后为项目添加java包&#xff0c;这个添加的是spark安装包中jars目录下的所有jar包 然后编写RDD操作 import or…

HBuilder真机调试检测不到荣耀Magic UI系列(包括手机和电脑)解决办法

HBuilder真机调试检测不到荣耀Magic UI系列&#xff08;包括手机和电脑&#xff09;解决办法解决方法&#xff1a; 1.在开发人员选项中开启USB调试 如何进入开发者选项&#xff1f; 设置->关于->版本号&#xff0c;点击版本号直至出现您已处于开发者模式 2.选择USB配置…

7-14 猜对了一半(*)

赛场内 n (0<n≤10) 名短跑运动员正在参加百米短跑比赛。赛场外有 m (0<m≤100) 名热心观众,他们每人都对比赛结果作出了 2 个预测。比赛结束后,运动员的名次各不相同,但令人惊奇的是每位观众都猜对了一半。请问这些运动员取得的实际名次是多少? 例如场内有 4 名运动…

【SQL每日一练】分组过滤练习题

文章目录 前言MySQL语法注意&#xff1a; 前言 题目&#xff1a;现在运营想查看每个学校用户的平均发贴和回帖情况&#xff0c;寻找低活跃度学校进行重点运营&#xff0c;请取出平均发贴数低于5的学校或平均回帖数小于20的学校。 drop table if exists user_profile; CREATE …

37-2 Python 的 requests 库发送 POST 请求

准备 sqlilabs 靶场: 构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、发送 POST 请求 首先使用bp对 sqlilabs 靶场的第12关抓个包,了解这个关卡是如何发包的 打开靶场:本地ip+ /sqli-labs-master/Less-12/ 先随便输入个账号登录如…

DevOps(七)Jenkins发布第一个流水线任务

Jenkins的流水线&#xff08;Pipeline&#xff09;是一种强大的工具&#xff0c;用于定义和管理持续集成和持续交付&#xff08;CI/CD&#xff09;过程。它允许你以代码的形式&#xff08;即"Pipeline as Code"&#xff09;定义整个构建、测试和部署流程&#xff0c;…

MATLAB相关性分析

假设有4个特征值&#xff0c;分析4个特征值与因变量相关性 首先分析其各特征值的相关性程度 dataxlsread(data_path.xlsx);% 获取各特征值相关性 correlation_matrix corr(data(:, 1:end-1), data(:, end), type, Pearson);% 可视化相关性 heatmap(correlation_matrix, Colo…

第10章 物理安全要求

10.1 站点与设施设计的安全原则 假如没有对物理环境的控制&#xff0c;任何管理的、技术的或逻辑的访问控制技术都无法提供足够的安全性。 如果怀有恶意的人员获取了对设施及设备的物理访问权&#xff0c;那么他们几乎可以为所欲为&#xff0c;包括肆意破坏或窃取、更改数据。…

踏上R语言之旅:解锁数据世界的神秘密码(一)

R语言学习 文章目录 R语言学习数据矩阵与R语言表示1.创建一个向量&#xff08;随机变量、一维数组&#xff09;2.创建一个矩阵&#xff08;二维数组&#xff09;3.矩阵转置4.矩阵相加减5.矩阵相乘6.矩阵对角元素相关运算7.矩阵求逆8.矩阵的特征值与特征向量9.矩阵的Choleskey分…

原来是这样的Three.js,我悟了

最近在b站上面看到up主&#xff1a;gamemcu的3D作品&#xff0c;着实让人感到非常震撼&#xff0c;作品中的SU7模型&#xff0c;利用的是Blender进行建模&#xff0c;利用了webGL的技术进行开发。由此启发了我对3D极大的乐趣。因此&#xff0c;凭借一点点&#x1f90f;的前端知…

RK3588 Android13 TvSetting 中增加 Usb 模式 Host/OTG 切换

前言 电视产品,客户要求在设置中设备偏好设置子菜单下增加一个USB模式切换菜单,一开始准备直接开整。但发现在开发者选项里就已经包含了一个USB模式 菜单了,只是没有 OTG HOST 这两选项,那就把这个菜单挪出来再增加一下就完事了,开整。 客户提供对比机图 效果图 framew…

【计算机毕业设计】学习平台功能介绍——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

学习部分排序,插入排序,冒泡排序以及希尔排序

1.插入排序 <1>.首先我们举个例子 我们要把6进行前面的插入&#xff0c;那我们要进行比较&#xff0c;首先确定一个end的指针&#xff0c;然后他指向的数字就是我们需要比较的&#xff0c;如果end指向的数比我们end1 的大的话&#xff0c;那我们就往前挪一个&#xff0c…

有效Dk值提取方法的仿真分析

目录 1. TDR技术提取Dk值的方法 2. 传输线双端口Delta-L技术提取Dk值的方法 3. 传输线单端口Delta-L技术提取Dk值的方法 4. 总结 参考文献 1. TDR技术提取Dk值的方法 测试有效Dk值的一些传统而有效的方法[1][2]&#xff0c;是采用TDR阻抗测试仪测试专门设计的传输线的传播延…

我的AI数字人分身上线了!

说起AI数字人&#xff0c;大家一定不会陌生。随着全民AI时代的到来&#xff0c;许多机关单位、企业和个人&#xff0c;都纷纷制作了自己的数字人形象。 前些天&#xff0c;小灰的老东家刘强东也开始用数字人直播带货&#xff0c;瞬间引爆了全网。 这一切背后的本质是什么呢&…

抽真空规范操作

抽真空规范操作 抽真空操作中&#xff0c;一个被忽视的现象是&#xff1a;许多维修人员热衷于解决空调故障&#xff0c;却对施工过程中的规范操作敷衍了事。殊不知&#xff0c;正是这些看似微不足道的细节疏忽&#xff0c;往往诱发空调各类疑难故障&#xff0c;令售后维修陷入…

Kubernetes Kafka 系列|MirrorMaker 2 同步数据

一、MirrorMaker 2介绍 MirrorMaker 2&#xff08;简称MM2&#xff09;是Apache Kafka的一个工具&#xff0c;主要用于跨Kafka集群的数据复制和同步。相比早期的MirrorMaker 1&#xff08;简称MM1&#xff09;&#xff0c;MirrorMaker 2在设计和功能上有了显著的提升&#xff…

【创建型模式】原型模式

一、原型模式概述 原型&#xff08;Prototype&#xff09;模式的定义&#xff1a;用一个已经创建的实例作为原型&#xff0c;通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里&#xff0c;原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效&#xf…

CV 面试指南—深度学习知识点总结(1)

本期专栏文章: CV 面试指南—深度学习知识点总结(1)CV 面试指南—深度学习知识点总结(2)CV 面试指南—深度学习知识点总结(3)CV 面试指南—深度学习知识点总结(4)CV 面试指南—深度学习知识点总结(5)