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

上一篇:

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.hqwc.cn/news/327216.html

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

相关文章

通信原理期末复习——计算大题(一)

个人名片: 🦁作者简介:一名喜欢分享和记录学习的在校大学生 🐯个人主页:妄北y 🐧个人QQ:2061314755 🐻个人邮箱:2061314755qq.com 🦉个人WeChat:V…

leetcode经典【双指针】例题

删除有序数组中的重复项: https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 解题思路: 首先注意数组是有序的,那么重复的元素一定会相邻。 注: 要求删除重复元素,实际上就是将不重复的元素移到数组的左侧。 考…

第13课 利用openCV检测物体是否运动了

FFmpeg与openCV绝对是绝配。前面我们已经基本熟悉了FFmpeg的工作流程,这一章我们重点来看看openCV。 在前面,我们已经使用openCV打开过摄像头并在MFC中显示图像,但openCV能做的要远超你的想像,比如可以用它来实现人脸检测、车牌识…

java实验室预约管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet 实验室预约管理系统是一套完善的java web信息管理系统 系统采用serlvetdaobean(mvc模式),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数 据库,系统主要采用B/S模式开发。开发环境为T…

【QT】QStandardItemModel类的应用介绍

目录 1 概述 2 常用方法 3 QStandardItemModel的使用 3.1 界面设计与主窗口类定义 3.2 系统初始化 3.3 从文本文件导入数据 3.4 数据修改 3.5 单元格格式设置 3.6 数据另存为文件 1 概述 QStandardItemModel是标准的以项数据(itemdata)为基础的…

Yokowaga横河WT3000高精度功率分析仪

Yokogawa WT3000高精度功率分析仪,作为理想的测量解决方案,其精准度和卓越的性能使其在多 种应用场景中都表现出色。这款仪表是工程研发和产品效率测试的理想选择,尤其在变频器、电机 驱动器、照明系统和电子镇流器、UPS系统、飞机电力系统、…

ArkTS - 网络请求

一、Axios请求 应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 前端开发肯定都使用过一个叫axios的第三方库,它是是一个基于 promise 的网络请求库,可以用于浏览器和 node.js&…

【Web开发】会话管理与无 Cookie 环境下的实现策略

🍎个人博客:个人主页 🏆个人专栏: Web开发 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 问题: 思路: 方法: 结语 我的其他博客 前言 在当今Web应用程序中,会话…

【DevOps-07-3】Jenkins集成Sonarqube

一、简要说明 Jenkins安装Sonarqube插件Jenkins安装和配置Sonar-Scanner信息Jenkins打包项目中,增加Sonar-Scanner代码质量扫描二、Jenkins安装Sonarqube插件 1、登录Jenkins管理后台,搜索安装Sonar-Scanner插件 Jenkins管理后台示例:http://192.168.95.131:8080/jenkins/

Rocky9.3 安装MySQL后如何设置初始密码

Rocky9.3 安装MySQL后如何设置初始密码 启动MySQL服务查看临时密码设置新密码 启动MySQL服务 安装MySQL后需要看一下服务是否已经启动: systemctl status mysqld如果没有启动的话,需要先启动MySQL服务: systemctl start mysqld # 临时启动…

排序算法:希尔排序

在实现希尔排序的过程中,我们需要先对整个序列进行分组,然后组内进行插入排序,这样可以将元素快速的移动到大致所在的位置,然后不断减少分组的步长,最后对整个序列进行插入排序,因为此前已经将元素大跨步的…

我的隐私计算学习——联邦学习(2)

笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具,经由自己阅读后整理而成 (三)联邦学习的算子 ------------------------ 算子是什么?--------------------------- ​ 从广义上讲,对任何函数进行某一项操作都可…