C#学习day04

1.三元运算符:条件?表达式1:表达式2

条件满足则返回表达式1,不满足则返回表达式2

嵌套三元运算符:如输入两个数字,获取第一个数字和第二个数字的大小关系。(大于,等于,小于)

int num1 = Convert.ToInt32(Console.ReadLine());

int num2 = Convert.ToInt32(Console.ReadLine());

num1 > num2 ? "大于" : num1 < num2 ? "小于" : "等于"

优点:执行效率高,代码简洁,能直观的表达结果,便于维护

2.常量

语法格式: const 数据类型 常量名 = 常量值

常量定义后就不可以被修改

常量名通常全部大写

3.枚举

枚举为自定义的值类型, 有点类似于结构体,但是区别挺大,枚举类型中存放的都是整形常量,也就是不允许被修改

语法格式 enum 枚举名{

常量名;

}

常量值可以使用默认,也可以手动指定

通常放于命名空间中, 类的上面,表示命名空间下所有类都可以访问这个枚举类型

4.结构体

结构体是一种封装数据可提供相关功能的值类型,它使一个单一变量可以存储各种数据类型的相关变量

语法格式:struct 结构体名{

public 数据类型 字段名;

}

结构体同样放在命名空间中,类上;

5.内存结构

栈区: 存放值类型的实际值,存放引用类型值的地址,由编译器自动编译释放

堆区:存储引用类型的数据,在C#中由.NET提供的GC(垃圾回收机制)管理

数据类型回顾:

值类型:预定义类型:sbyte, byte, short, ushort, int, uint, long, ulong,float,double,decimal

用户自定义类型: enum, struct

引用类型:string

值类型的赋值和比较:

比如说,定义两个变量A,B,将B的值赋给A; 修改B的值,A不会改变

它们是两个不同的变量

比较:值类型之间比较的是实际值

string类型之间的赋值和比较

在赋值给string类型的时候,编译器会判断字符串值是否在驻留池中出现过,如果有就直接返回前地址,没有再申请一个新的空间用来存储该值

比较: string类型比较的是地址值

如string A = "ABCDEFG";

string B = A;

Console.WriteLine(A == B);

A = "ABCD";

Console.WriteLine(A); //ABCD

Console.WriteLine(B); //ABCDEFG

Console.WriteLine(A == B); //False

6.数组

数组是一种可以存放固定个数的相同类型数据的有序集合,数组是引用数据类型

1.数组一旦被创建,它的大小就是不可以改变的。

  1. 创建了数组,立刻在内存中分配连续的空间,每个元素占用的空间大小是相同的。

  2. 同一个数组其元素的类型必须是相同类型,不允许出现混合类型。

  3. 数组类型中存储的数据可以是任何数据类型,包括基本类型和引用类型。

  4. 数组属于引用数据类型。

因为数组是一块连续的空间,虽然元素的地址是连续的,但是因为有多个元素,那就有多个地址,但是栈空间中只能存放一个地址引用。

数组对象中存放的是数组空间中第一个元素的地址

定义方法

先定义后赋值:int arr\[\] = new int5;

定义同时赋值: int arr\[\] = new int5{1,2,3,4,5};

for循环变量 for(int i; i < 数组.length; i++) 数组名i = 数组中第i个元素的值

foreach遍历

定义方法: for(数据类型 i in 数组名)

{

变量名 = 数组中的元素

}

7.完成简易超市操作系统,实现以下功能

相关推荐
林川~018 小时前
Unity 万能物理检测工具:射线检测 / 范围检测 / 层级过滤 / 编辑器可视化(可直接拿去用)
游戏·unity·c#·射线检测·通用工具
智者知已应修善业9 小时前
【4060BD_5V应用电路图】2022-12-24
驱动开发·经验分享·笔记·硬件架构·硬件工程
小弥儿9 小时前
GitHub今日热榜 | 2026-09-18:腾讯双项目上榜
学习·开源
知识分享小能手11 小时前
深度学习学习教程,从入门到精通,深度生成模型 —— 知识点详解与代码实现(20)
人工智能·深度学习·学习
He BianGu12 小时前
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
opencv·c#·wpf·halcon·机器视觉·visionmaster
m4Rk_12 小时前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github
tang_042712 小时前
【Hi.Ltd 专题】第9期:Interop 配置互操作(JSON/INI/XML/YAML/注册表/扫码)
经验分享·c#·hi.ltd系列
小李不想当小白12 小时前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
2601_9499506314 小时前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
Regentsoft丽晶软件14 小时前
即时零售退货的库存归属、质检标准和退款时效,系统如何做到自动闭环
大数据·经验分享·数据库架构