C#,入门教程(08)——基本数据类型及使用的基础知识

news2025/1/12 4:03:48

上一篇:

C#,入门教程(07)——软件项目的源文件与目录结构icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124139947

数据类型用于指定数据体(DataEntity,包括但不限于类或结构体的属性、变量、常量、函数返回值)的值的存储类型。

C#语言是一种强类型语言,因而要求每个数据体都必须指定数据类型。

C# 语言的数据类型分为“值类型”和“引用类型”。

(1)值类型包括:整型、浮点型、字符型、布尔型、枚举等;

(2)引用类型包括:结构体、类、接口、数组、委托、字符串等。

值类型存放在内存堆栈,每次存取值都会在内存中操作;引用类型首先会在堆栈中创建一个引用变量,然后在堆中创建对象本身,再把这个对象所在内存的首地址赋给引用变量。

C# 语言中的常用基本数据类型,包括值类型中的整型、浮点型、字符型、 布尔型,以及引用类型中常用的字符串类型。

一、整型int

整型就是存储整数的类型。按值范围不同,C# 语言将整型分成了 byte、short 、int 和long。整型又分为有符号整数无符号整数。有符号整数可以表示负数,无符号整数仅能表示正数。

具体的整数类型及其表示范围如下表所示。

类 型取值范围
sbyte有符号数,占用1个字节,-2^7〜2^7-1
byte无符号数,占用1个字节,0〜2^8-1
short有符号数,占用2个字节,-215〜215-1
ushort无符号数,占用2个字节,0〜2^16-1
int有符号数,占用4个字节,-2^31〜2^31-1
uint无符号数,占用4个字节,0〜2^32-1
long有符号数,占用8个字节,-2^63〜2^63-1
ulong无符号数,占用8个字节,0〜2^64-1

C# 语言常用 int。应用场景有:

// 常量
const int TWO = 2;

// 整型变量,以及初值
int a = 10;

// 整型数组
int[] array;

// 结构体成员
struct student {
    int Id;
}

// 类属性
class teacher {
    int Id { get; set; } = 0;
}

// 函数返回值
int Sum()
{
    return (3+4);
}

二、实数double(浮点型)

浮点型是指小数类型,浮点型在 C# 语言中共有两种,一种称为单精度浮点型,一种称为双精度浮点型。

类 型取值范围
float单精度浮点型,占用4个字节,最多保留7位小数
double双精度浮点型,占用8个字节,最多保留16位小数


C# 语言常用 double

如果要使用单精度浮点型,需要在数值后 面加上 f 或 F 来表示,例如 123.45f、123.45F。

// 常量
const double PI = 3.14159265359;

// 实数变量,以及初值
double b = 10;

// 实数数组
double[] array;

// 结构体成员
struct student {
    double Height;
}

// 类属性
class teacher {
    double Weight { get; set; } = 0;
}

// 函数返回值
double SQRT2()
{
    return System.Math.Sqrt(2.0);
}

三、字符型char和字符串string类型

1、字符型char

字符型用 char 关键字表示,存放到 char 类型的字符需要使用单引号括起来,例如 'a'、'中' 等。
 

2、字符串string

字符串类型能存放多个字符,它是一个引用类型,在字符串类型中存放的字符数可以认为是没有限制的,因为其使用的内存大小不是固定的而是可变的。

C#常用字符串类型 string 。字符串类型的数据必须使用双引号括起来,例如 "abc"、"123" 等。

3、特殊字符(转义字符)

C# 语言中还有一些特殊的字符串,代表了不同的特殊作用。由于在声明字符串类型的数据时需要用双引号将其括起来,那么双引号就成了特殊字符,不能直接输出,转义字符的作用就是输出这个有特殊含义的字符。

转义字符非常简单,常用的转义字符如下表所示。

转义字符等价字符
\'单引号
\"双引号
\\反斜杠
\0
\a警告(产生蜂鸣音)
\b退格
\f换页
\n换行
\r回车
\t水平制表符
\v垂直制表符

请记住上面四个红色的转义字符,它们经常出现。

// 常量
const string SEASONS = "春夏秋冬";

// 字符串变量,以及初值
string c = "hello world!";

// 字符串数组
string[] array;

// 结构体成员
struct student {
    string Name;
}

// 类属性
class teacher {
    string Name { get; set; } = String.Empty;
}

// 函数返回值
string WhoAreYou()
{
    return "DOGOD!";
}

四、布尔类型bool

 C# 语言布尔类型使用 bool 来声明,它只有两个值,即 true false

布尔值用于开关型数据、选项的设定。
布尔类型的值也被经常用到条件判断的语句中,例如,判断两个值大小等等。

 应用场景:

// 变量,初值
bool Open = false;
bool Visible = true;

// 逻辑
bool OK = (1>0);
bool IDONTKNOW = (a == b);

周末愉快!

下一篇:

C#,入门教程(09)——运算符的基础知识icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/123908269

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

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

相关文章

架构的本质是什么?

最近总是有小伙伴问我,如何成长为一名优秀的架构师,我也不知道该如何去回答,但是我想聊一下架构的本质。 架构不是互联网行业独有的 架构及对应的架构师职位并不是互联网行业独有的,只要存在组织的地方就存在架构。 比如一个木…

企业出海数据合规:GDPR中的个人数据与非个人数据之区分

GDPR仅适用于个人数据,这意味着非个人数据不在其适用范围内。因此,个人数据的定义是一个至关重要的因素,因为它决定了处理数据的实体是否要遵守该法规对数据控制者规定的各种义务。尽管如此,什么是个人数据仍然是当前数据保护制度…

用通俗易懂的方式讲解:LSTM原理及生成藏头诗(Python)

一、基础介绍 1.1 神经网络模型 常见的神经网络模型结构有前馈神经网络(DNN)、RNN(常用于文本 / 时间系列任务)、CNN(常用于图像任务)等等。 前馈神经网络是神经网络模型中最为常见的,信息从输入层开始输入&#xf…

SpringBoot 调用mybatis报错:Invalid bound statement (not found):

启动SpringBoot报错:Invalid bound statement (not found): 参考此文排查 命中了第6条 记录一手坑爹的Invalid bound statement (not found)(六个方面) mapper文件路径配置错误 订正以后 问题解决

项目从npm迁移到pnpm

场景如下:在安装Vue3时默认为使用Npm安装,如图所示: 安装完后项目就包含了基于NPM的node_modules、package.json,以及package-lock.json 如果想使用pnpm去安装依赖项的话,可以通过如下几个步骤实现: ①删…

基于R语言(SEM)结构方程模型教程

详情点击链接:基于R语言(SEM)结构方程模型教程 01、R/Rstudio (2)R语言基本操作,包括向量、矩阵、数据框及数据列表等生成和数据提取等 (3)R语言数据文件读取、整理(清洗)、结果存储等(含tidve…

JAVA中小型医院信息管理系统源码 医院系统源码

开发框架:SpringBootJpathymeleaf 搭建环境:jdk1.8idea/eclipsemaven3mysql5.6 基于SpringBoot的中小型医院信息管理系统,做的比较粗糙,但也实现了部分核心功能。 就诊卡提供了手动和读卡两种方式录入,其中IC读卡器使用…

跟随chatgpt从零开始安装git(Windows系统)

为什么我们要安装Git?Git有什么用? 1. 版本控制:Git 可以追踪代码的所有变化,记录每个提交的差异,使您能够轻松地回溯到任何历史版本或比较不同版本之间的差异。 2. 分支管理:通过 Git 的分支功能&#xff…

【C语言:可变参数列表】

文章目录 1.什么是可变参数列表2.可变参数列表的分析与使用2.1使用2.2分析原理2.3分析原码 1.什么是可变参数列表 对于一般的函数而言,参数列表都是固定的,而且各个参数之间用逗号进行分开。这种函数在调用的时候,必须严格按照参数列表中参数…

云卷云舒:【实战篇】Redis迁移

1. 简介 Remote Dictionary Server(Redis)是一个由Salvatore Sanfilippo写的key-value存储系统,是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 2. 迁移原理 redis-sh…

src refspec master does not match any

新项目推送至 Git 空仓库时抛出如下异常 src refspec master does not match any 初始化 init 都做了但反复尝试 git push -u origin master 均无果 后发现权限不够 .... 起初设置为开发者,后变更为了主程序员再次尝试 push 成功 .... 以上便是此次分享的全部内容,…

Pandas数据可视化

pandas库是Python数据分析的核心库 它不仅可以加载和转换数据,还可以做更多的事情:它还可以可视化 pandas绘图API简单易用,是pandas流行的重要原因之一 Pandas 单变量可视化 单变量可视化, 包括条形图、折线图、直方图、饼图等 …

记一次服务器被入侵的排查过程

起因 阿里云安全中心报告了告警信息,同时手机短信、邮件、电话也接收到了来自阿里云的风险通知,感觉这方面阿里云还是不错。 排查及解决过程 这条wget指令究竟是怎么被运行的 我无法定位到攻击人员是通过什么样的方式让我的java程序执行了wget这条指…

打造清晰的日志管理策略:如何在 NestJS 中集成 winston 高级日志系统

前言 在Web应用程序的开发过程中,日志管理是不可或缺的一部分。日志可以帮助我们了解应用程序的运行状态,监控系统行为,以及在出现问题时快速定位和解决问题。 对于使用NestJS框架的项目来说,集成一个高效、可扩展的日志系统尤为…

Java:IO流详解

文章目录 基础流1、IO概述1.1 什么是IO1.2 IO的分类1.3 顶级父类们 2、字节流2.1 一切皆为字节2.2 字节输出流 OutputStream2.3 FileOutputStream类2.3.1 构造方法2.3.2 写出字节数据2.3.3 数据追加续写2.3.4 写出换行 2.4 字节输入流 InputStream2.5 FileInputStream类2.5.1 构…

RFM会员价值度模型

模型基本原理 会员价值度用来评估用户的价值情况,是区分会员价值的重要模型和参考依据,也是衡量不同营销效果的关键指标。 价值度模型一般基于交易行为产生,衡量的是有实体转化价值的行为。常用的价值度模型是RFM RFM模型是根据会员 最近…

C#,简单选择排序算法(Simple Select Sort)的源代码与数据可视化

排序算法是编程的基础。 常见的四种排序算法是:简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显,一般使用递归方式实现,但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。本文搜集发布四种算法…

8 单链表---带表头节点

上节课所学的顺序表的缺点 顺序表的最大问题:插入和删除时需要移动大量元素 链式存储的定义 链式存储的逻辑结构 链表中的基本概念: 注意:表头节点并不属于数据元素 单链表图示: 把3个需要的结构体定义出来: typdef …

《网络是怎样连接的》2.3节图表(自用)

图4.1:TCP拆分数据与ACK号 图4.2:实际工作中ACK号与序号的交互过程 首先,客户端在连接时需要计算出与从客户端到服务器方向通信相关的序号初始值,并将这个值发送给服务器(①)。 接下来,服务器会…

MySQL学习笔记2: MySQL的前置知识

目录 1. MySQL是什么?2. 什么是客户端,什么是服务器?3. 服务器的特点4. 安装mysql5. mysql 客户端6. mysql 服务器7. mysql的本体8. MySQL 使用什么来存储数据?9. 数据库的多种含义10. MySQL 存储数据的组织方式 1. MySQL是什么? MySQL 是…