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

相关推荐
疯狂打码的少年1 小时前
【数据库技术】关系模型基本概念(关系/属性/元组/键)
java·服务器·数据库·笔记
Bruce_Liuxiaowei3 小时前
从基础理论开始学习人工智能(三):盲目搜索——从状态空间图到生成-测试范式
人工智能·学习
luj_17683 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
有梦想的骇客3 小时前
PyTorch学习笔记
pytorch·笔记·学习
Capricorn19884 小时前
个人知识库接入大模型频现“幻觉引用”?排查 RAG 溯源失效问题,解析知芽构建可信第三大脑的底层架构
大数据·论文阅读·人工智能·笔记·架构·论文笔记
陈年老古董4 小时前
深度学习入门笔记:从神经元到深度神经网络
人工智能·笔记·深度学习·神经网络·学习
leonkay4 小时前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发
富唯智能机器人4 小时前
车间地面油污粉尘积水,会影响复合机器人导航精度吗?|富唯智能
经验分享
CSDN_RTKLIB5 小时前
数据库七大符号表
c#
2601_967100425 小时前
护眼灯哪个牌子更好更专业耐用?专业长效护眼台灯品牌推荐,品质过硬
学习·护眼·台灯