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.完成简易超市操作系统,实现以下功能

相关推荐
math_hongfan1 小时前
鸿蒙企业级数据存储高级架构:从读写分离到冷热数据分层/归档策略/数据生命周期管理最佳实践
人工智能·学习·华为·架构·harmonyos·鸿蒙
MartinYeung51 小时前
[论文学习]LLM智能体无法保密:多智能体系统中的隐私评估
人工智能·学习
、达西先生1 小时前
GMR IK数学原理解读
笔记·学习·il·遥操作·模仿学习
令狐前生1 小时前
DDD领域模型学习笔记
笔记·学习·架构
鱼子星_2 小时前
【C++】stack和queue的应用及其模拟实现:适配器与容器适配器
数据结构·c++·笔记·stl
LccKyI2 小时前
C#学习day05(开发福彩双色球系统附思维导图)
开发语言·学习·c#
湘美书院--湘美谈教育3 小时前
湘美书院谈探索式教育,中医药AI研究络病理论
大数据·人工智能·深度学习·学习·生活
PC2005-cloud3 小时前
Redis学习笔记:Cluster 集群读写分离实战,Lettuce + Spring Boot 从配置到验证
redis·笔记·学习
火眼金睛炼单词3 小时前
音标记单词:高效记忆的底层逻辑与实操方法
经验分享·高考