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.mzph.cn/news/604177.shtml

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

相关文章

【Flink精讲】双流Join之Regular Join(即普通Join)

Regular Join 普通Join 通过条件关联两条实时数据流:动态表Join动态表支持Inner Join、Left Join、Right Join、Full Join。 1. Inner Join(Join):只有两边数据流都关联上才输出[L,R] 2. Left Join(Left Outer Join):只要左流有数据即输出[…

数据库系统原理:从基础到实践的探索

数据库系统原理:从基础到实践的探索 大家好,我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我将和大家深入探讨数据库系统原理。 数据库系统作为信息系统的…

C语言程序设计——程序流程控制方法(一)

C语言关系运算符 ---等于ab!不等于a!b<、>小于和大于a>b 、a<b<、>小于等于、大于等于a>b 、a<b!非!(0)、!(NULL) 在C99之后&#xff0c;C语言开始支持布尔类型&#xff0c;头文件是stdbool.h。在文中我所演示的所有代码均是C99版。 在C语言上上述关…

mxxWechatBot微信机器人自定义接口支持配置多个关键词、多个群聊和好友

大家伙&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 前言 注意&#xff1a; 免责声明&#xff1a;该工具仅供学习使用&#xff0c;禁止使用该工具从事违法活动&#xff0c;否则永久拉黑​封禁账号。本工具我不会绝对保证对你的账号没有影响…

【爱发电】正式入驻爱发电平台

我的爱发电主页地址&#xff1a;https://afdian.net/a/leoatliang 欢迎大家来用爱发电&#xff01;&#xff01;&#xff01;

Android 横竖屏切换之窗体泄露leaked window DecorView XXXActivity

前言 遇到问题 Android 横竖屏切换之窗体泄露leaked window DecorView XXXActivity has leaked window DecorViewe6d2d3c[XXXActivity] that was originally added here 场景 在android 横竖屏切换时androidManifest 对应Activity可以设置 <activityandroid:name".XX…

vue3中vite.config.js文件常用配置

文章目录 配置root&#xff1a;base&#xff1a;publicDir&#xff1a;plugins&#xff1a;optimizeDeps&#xff1a;server&#xff1a;build&#xff1a;resolve&#xff1a; 配置 vite.config.js文件是 Vite 项目的配置文件&#xff0c;通过该文件你可以对 Vite 进行一些配…

draw.io基础操作和代码高效画图进阶

文章目录 一、基础操作1、链接2、等比例变形3、复制4、插入表格 二、在线打开三、插入—功能聚集地1、插入图片2、插入画笔3、插入布局4、导出 四、图码转换——高效画图1、通用图码转换2、流程图生成&#xff1a;使用mermaid语言生成图&#xff1a; 五、图码转换高效画图的典型…

C++八股学习心得.7

1.在 CGI 中使用 Cookies HTTP 协议是一种无状态的协议。但对于一个商业网站&#xff0c;它需要在不同页面间保持会话信息。例如&#xff0c;一个用户在完成多个页面的步骤之后结束注册。但是&#xff0c;如何在所有网页中保持用户的会话信息。 在许多情况下&#xff0c;使用…

locust 快速入门--HttpUser与TaskSet

背景&#xff1a; locust 压测是以模拟一定用户数量完成指定操作实现的压测。 它的基础维度是用户数量&#xff08;HttpUser&#xff09;&#xff0c;压测时指定多少用户数&#xff0c;就会有相应的HttpUser实例。 用户的操作行为定义&#xff0c;是通过一个个task装饰的方法实…

探秘 JAVA 工厂模式:深度详解与实例分析

探秘 JAVA 工厂模式&#xff1a;深度详解与实例分析 前言: 欢迎阅读本篇博客&#xff0c;我们将深入研究 Java 中一种设计模式——工厂模式。工厂模式是一种创建型模式&#xff0c;它提供了创建对象的最佳方式之一&#xff0c;有助于将对象的创建与使用解耦。 1. 工厂模式简…

静态网页设计——旅游景点介绍(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1f64y1N7uH/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…

2024.1.7力扣每日一题——赎金信

2024.1.7 题目来源我的题解方法一 哈希表方法二 数组 题目来源 力扣每日一题&#xff1b;题序&#xff1a;383 我的题解 方法一 哈希表 使用哈希表记录ransomNote中所需字符的数量&#xff0c;然后遍历magazine并将哈希表中存在的对应的数量减一 时间复杂度&#xff1a;O(nm…

Code Runner使用外部控制台,运行结束后等待用户输入

问题描述 网上让程序运行结束暂停的方法大多数只有两种&#xff1a; 1.末尾加上system(“pause”) 2.start /k cmd 第一种方法每一个程序都需要在最后加上这条命令很烦&#xff1b; 第二章方法cmd窗口在程序运行结束后不会自动关闭&#xff0c;需要用户手动关闭 我想找到一种…

鸡尾酒效应通俗解释,举一个具体的例子。

问题描述&#xff1a;鸡尾酒效应通俗解释&#xff0c;举一个具体的例子。 问题解答&#xff1a; 鸡尾酒效应&#xff08;Cocktail Party Effect&#xff09;是指在嘈杂的环境中&#xff0c;人类大脑能够在众多声音中专注于一些特定声音并加以理解。这种现象显示了人类听觉系统…

PyTorch|构建自己的卷积神经网络--池化操作

在卷积神经网络中&#xff0c;一般在卷积层后&#xff0c;我们往往进行池化操作。实现池化操作很简单&#xff0c;pytorch中早已有相应的实现。 nn.MaxPool2d(kernel_size ,stride ) 这种池化叫做最大池化。 最大池化原理很简单&#xff0c;就是一个filter以一定的stride在原…

NACHI机器人虚拟示教器报I2101异常

前言 机器人示教器报&#xff1a;I2101 异常停止按钮或外部停止信号被输入 无法再示教模式下进行程序的运行&#xff01; 解决方法 结果 最后测试可以正常的运行程序

PHP文件代码加密系统,可批量全开源

代码文件加密系统 在程序运行时&#xff0c;实质上是在执行机器码&#xff0c;而虚拟机语言的基本概念是将程序加密到一定程度&#xff0c;也就是说&#xff0c;经过加密的PHP程序在执行时会被解密成opcode继续执行。 PHP在执行时会生成opcode&#xff0c;然后由Zend虚拟机继…

计算机网络(第8版)名词解释

1.ICMP 网际控制报文 允许主机或路由器报告差错情况和提供有关异常情况的报告 2.RIP路由信息协议 是一种分布式的&#xff0c;基于距离向量的路由选择协议 3.BGP 外部网关协议 是不同自治系统的路由器之间交换路由信息的协议 4.IGMP 网际管理协议 使用多播路由器知道多播…

Spring之单元测试

Spring提供了一个运行器&#xff0c;可以读取配置文件&#xff08;或注解&#xff09;来创建容器。 1 整合Junit5 1.1 引入依赖 <dependencies><!--spring context依赖--><!--当你引入Spring Context依赖之后&#xff0c;表示将Spring的基础依赖引入了-->…