Synchronization of old projects

Part1
This commit is contained in:
2025-09-30 16:46:01 +08:00
parent 116b65164b
commit 4e1548abe2
167 changed files with 8668 additions and 43 deletions
@@ -0,0 +1,63 @@
#region
//无符号整形
//byte b = 1;
//ushort us = 1;
//uint ui = 1;
//ulong ul = 1;
//有符号整形
//sbyte sb = -1;
//short s = -1;
//int i = -1;
//long l = -1;
//浮点型
//float f = 1f;
//double d = 1.1;
//decimal dec = 1.1m;
//特殊类型
//bool bo = true;
//char c = 'a';
//string str = "string";
//复杂类型
//enum 枚举
//数组(一维、二维、交错)
//把以上 学过的变量类型 分成 值类型和引用类型
//引用类型:string,数组,类(未学习)
//值类型:其他、结构体(未学习)
#endregion
#region
//1.使用上的区别
//值类型
int a = 10;
//引用类型
int[] arr = new int[] { 1, 2, 3, 4 };
//声明了一个b让其等于之前的a
int b = a;
//声明了一个arr2让其等于之前的arr
int[] arr2 = arr;
Console.WriteLine("a={0},b={1}",a,b);
Console.WriteLine("arr[0]={0},arr2[0]={1}", arr[0], arr2[0]);
b = 20;
arr2[0] = 5;
Console.WriteLine("修改了b和arr2[0]后:");
Console.WriteLine("a={0},b={1}", a, b);
Console.WriteLine("arr[0]={0},arr2[0]={1}", arr[0], arr2[0]);
//值类型 在相互赋值时,是将值进行复制,互不影响,他变我不变
//引用类型 在相互赋值时,是将地址进行复制,互相关联,他变我也变
//2.为什么有以上区别
//值类型和应用类型 存储在的内存区域是不同的 存储方式是不同的
//值类型 直接存储在 栈内存 中 -- 系统分配,自动回收,小而快
//引用类型 变量本身存储在 栈内存 中,实际数据存储在 堆内存 中 -- 手动分配,手动回收,大而慢
//string虽然也是引用类型 但它有值类型的特性,因为它不可变
#endregion