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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3_并发编程可见性(volatile)之缓存锁内存屏障过程

并发编程可见性volatile 1.背景原来 从下面的程序可以知道main线程把stop修改成false,而在t1线程没有中没有读取到stop值为false,所以导致了t1线程不能够停止。 从而说明stop值在线程t1不可见,解决这个问题在stop变量上添加volatile即可(p…

java spring boot 获取resource目录下的文档

主要代码 String filePath"templates/test.xls" ClassPathResource classPathResource new ClassPathResource(filePath); InputStream inputStream classPathResource.getInputStream();目录 主要目录存放再这 代码案例 public void downloadTemplate( HttpS…

计算机毕业设计 基于SpringBoot的公司资产网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

rhino犀牛怎么导入和调整背景图?

rhino犀牛怎么导入和调整背景图?Rhino建模过程中经常要用到背景图,为了更加方便快捷,我们会直接导入一些图片来当做背景,那么Rhino犀牛如何导入和调整背景图呢,让我们一起来看看吧 打开犀牛软件,进入操作界…

玩转Mysql 二(MySQL的目录结构与表结构)

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 一、MYSQL目录结构及命令存放路径 1、查看MYSQL数据文件存放路径 mysql> show variables like datadir; 注意:生成环境要提前规划好数据存放目录,存储一般以T为单位闪盘。 2、MYSQL命令存放…

Android两个APP之间跳转+手机图标修改

APP之间跳转 两个APP之间跳转同样使用Intent进行跳转,将需要跳转的APP都下载到手机中,通过主APP调用需要跳转的APP包名进行跳转。 最好在其中加上try-catch语句,当需要跳转的APP不存在时进行错误抓取。 代码如下: Intent mInten…

iview inputNumber有一个默认值1,来看解决方案

iview inputNumber为什么总有一个默认值1,怎么让它为空。 修改编辑没问题,赋值都没问题,但是新增的时候会有默认值1,也没赋值 这种情况你要手动解决,看看当前值有没有被覆盖 我这个问题就是出现覆盖导致的 看代码似乎…

生信技能33 - gnomAD数据库hg19/hg38 VCF文件批量下载脚本

gnomAD数据库下载地址 gnomAD downloads gnomAD v2.1.1数据集包含来自125,748个外显子组和15,708个全基因组的数据,所有这些数据都映射到GRCh 37/hg 19和GRCh 38/hg 38 两个版本的参考序列。 gnomAD数据库hg19与hg39 VCF文件批量下载脚本 download.sh # 获取当前目录路径…

STM32 IAP学习

STM32三种烧录方式 ISP:In System Programming(在系统编程) 执行芯片厂商的BootLoader程序进入ISP模式,进入ISP模式后,用户可选择官方提供的烧录通信接口(如:串口),并配…

机械配件移动商城课程概述

项目介绍 开发准备 任务 开源库介绍 框架搭建 工具类

单机部署Rancher

上次已经安装完毕了k8s了,但是想要界面化的管理,离不开界面工具,首推就是rancher,本文介绍安装rancher的安装,也可以将之前安装的k8s管理起来。 已经安装完毕docker和docker-ce的可以直接从第三部分开始。 一、基础准…

Rockchip平台双屏异显功能实现(基于Android13)

Rockchip平台双屏异显功能实现(基于Android13) 1. 异显实现方案 Rockchip SDK平台支持两种不同的异显方案:Android Presentation和Android Activity指定屏幕启动。 使用Android Presentation方案,需要在APP开发中调用相应接口以使指定视图&#xff08…

Debezium发布历史49

原文地址: https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. 使用发件箱模式进行可靠的微服务数…

FSMC驱动LCD

FSMC( Flexible static memory controller)全称“灵活的静态存储器控制器”,是 STM32中一个很有特色的外设,通过 FSMC,STM32可以通过FSMC与SRAM、ROM、PSRAM、Nor Flash和NandFlash存储器的引脚相连,从而进行数据的交换。 FSMC的本…

Java面试项目推荐,异构数据源数据流转服务DatalinkX

前言 作为一个年迈的夹娃练习生,每次到了春招秋招面试实习生时都能看到一批简历,十个简历里得有七八个是写商城或者外卖项目。 不由得想到了我大四那会,由于没有啥项目经验,又想借一个质量高点的项目通过简历初筛,就…

LeetCode 2221. 数组的三角和

文章目录 1. 题目 2. 解题 1. 题目 给你一个下标从 0 开始的整数数组 nums ,其中 nums[i] 是 0 到 9 之间(两者都包含)的一个数字。 nums 的 三角和 是执行以下操作以后最后剩下元素的值: nums 初始包含 n 个元素。如果 n == 1 ,终止 …

系列十一、(三)Sentinel控制台

一、Sentinel控制台 二、实时监控 2.1、概述 实时监控,顾名思义是用来实时监控的,具体监控的是接口请求通过的QPS和拒绝的QPS,默认情况下没有访问记录,所以看不到任何记录,需要访问接口才会有记录。另外需要注意&…

每10分钟一更新的实时卫星影像

我们为大家分享了一个可以查看下载高时效卫星影像的方法。 这里再为大家推荐一个可以查看近乎实时的卫星影像的网站,卫星影像每10分钟更新一次。 实时卫星影像 打开网站(zoom.earth),可以查看实时卫星影像画面,在左…

[C#]C# OpenVINO部署yolov8图像分类模型

【官方框架地址】 https://github.com/ultralytics/ultralytics.git 【算法介绍】 YOLOv8 抛弃了前几代模型的 Anchor-Base。 YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们…

2024年天津体育学院专升本专业考试考生入场及考前须知

天津体育学院2024年高职升本科招生专业考试考生考前须知 一、考生入场及考试要求 1.考生于1月6日笔试考试当天,根据考试时间提前30分钟到达天津体育学院新校区东门,凭专业考试准考证、有效身份证原件,经查验合格后方可允许进入学校。 2.笔…