From 301c345a6a86eef1ad65168a3c4061ddf68157da Mon Sep 17 00:00:00 2001 From: Kister Hakusan <2753888203@qq.com> Date: Wed, 15 Oct 2025 10:11:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Lesson11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- C#进阶/C#进阶.sln | 12 +++++ .../Lesson11_泛型栈和队列.csproj | 10 ++++ C#进阶/Lesson11_泛型栈和队列/Program.cs | 54 +++++++++++++++++++ .../Lesson11_泛型栈和队列练习.csproj | 10 ++++ C#进阶/Lesson11_泛型栈和队列练习/Program.cs | 39 ++++++++++++++ 5 files changed, 125 insertions(+) create mode 100644 C#进阶/Lesson11_泛型栈和队列/Lesson11_泛型栈和队列.csproj create mode 100644 C#进阶/Lesson11_泛型栈和队列/Program.cs create mode 100644 C#进阶/Lesson11_泛型栈和队列练习/Lesson11_泛型栈和队列练习.csproj create mode 100644 C#进阶/Lesson11_泛型栈和队列练习/Program.cs diff --git a/C#进阶/C#进阶.sln b/C#进阶/C#进阶.sln index 16b732f..61b8818 100644 --- a/C#进阶/C#进阶.sln +++ b/C#进阶/C#进阶.sln @@ -45,6 +45,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson10_LinkedList", "Less EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson10_LinkedList练习", "Lesson10_LinkedList练习\Lesson10_LinkedList练习.csproj", "{547A4860-2E6F-4022-802A-F34204F7ADF5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson11_泛型栈和队列", "Lesson11_泛型栈和队列\Lesson11_泛型栈和队列.csproj", "{4CA252D3-7F2F-4204-85B5-178BC4227697}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson11_泛型栈和队列练习", "Lesson11_泛型栈和队列练习\Lesson11_泛型栈和队列练习.csproj", "{C91DDD1F-E702-430F-95FA-22BBEDE5E011}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -135,6 +139,14 @@ Global {547A4860-2E6F-4022-802A-F34204F7ADF5}.Debug|Any CPU.Build.0 = Debug|Any CPU {547A4860-2E6F-4022-802A-F34204F7ADF5}.Release|Any CPU.ActiveCfg = Release|Any CPU {547A4860-2E6F-4022-802A-F34204F7ADF5}.Release|Any CPU.Build.0 = Release|Any CPU + {4CA252D3-7F2F-4204-85B5-178BC4227697}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4CA252D3-7F2F-4204-85B5-178BC4227697}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CA252D3-7F2F-4204-85B5-178BC4227697}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4CA252D3-7F2F-4204-85B5-178BC4227697}.Release|Any CPU.Build.0 = Release|Any CPU + {C91DDD1F-E702-430F-95FA-22BBEDE5E011}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C91DDD1F-E702-430F-95FA-22BBEDE5E011}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C91DDD1F-E702-430F-95FA-22BBEDE5E011}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C91DDD1F-E702-430F-95FA-22BBEDE5E011}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/C#进阶/Lesson11_泛型栈和队列/Lesson11_泛型栈和队列.csproj b/C#进阶/Lesson11_泛型栈和队列/Lesson11_泛型栈和队列.csproj new file mode 100644 index 0000000..2150e37 --- /dev/null +++ b/C#进阶/Lesson11_泛型栈和队列/Lesson11_泛型栈和队列.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + + diff --git a/C#进阶/Lesson11_泛型栈和队列/Program.cs b/C#进阶/Lesson11_泛型栈和队列/Program.cs new file mode 100644 index 0000000..9f01751 --- /dev/null +++ b/C#进阶/Lesson11_泛型栈和队列/Program.cs @@ -0,0 +1,54 @@ +namespace Lesson11_泛型栈和队列 +{ + internal class Program + { + static void Main(string[] args) + { + #region 知识点一 回顾数据容器 + #region 变量 + //无符号 + //byte ushort uint ulong + //有符号 + //sbyte short int long + //浮点数 + //float double decimal + //特殊 + //char bool string + #endregion + + #region 复杂数据容器 + ///枚举 enum + ///结构体 struct + ///数组(一维、二维、交错)[] [,] [][] + ///类 + #endregion + + #region 数据集合 + //using System.Collections; + + //ArrayList object数据列表 + //Stack 栈 先进后出 + //Queue 队列 先进先出 + //Hashtable 哈希表 键值对 + #endregion + + #region 泛型数据集合 + //using System.Collections.Generic; + + //List 列表 泛型队列 + //Dictionary 字典 泛型哈希表 + //LinkedList 双向链表 + //Stack 泛型栈 + //Queue 泛型队列 + #endregion + #endregion + + #region 知识点二 泛型栈和队列 + //命名空间 System.Collections.Generic + //在使用上和Stack和Queue类似 + Stack stack = new Stack(); + Queue queue = new Queue(); + #endregion + } + } +} diff --git a/C#进阶/Lesson11_泛型栈和队列练习/Lesson11_泛型栈和队列练习.csproj b/C#进阶/Lesson11_泛型栈和队列练习/Lesson11_泛型栈和队列练习.csproj new file mode 100644 index 0000000..2150e37 --- /dev/null +++ b/C#进阶/Lesson11_泛型栈和队列练习/Lesson11_泛型栈和队列练习.csproj @@ -0,0 +1,10 @@ + + + + Exe + net8.0 + enable + enable + + + diff --git a/C#进阶/Lesson11_泛型栈和队列练习/Program.cs b/C#进阶/Lesson11_泛型栈和队列练习/Program.cs new file mode 100644 index 0000000..eb911dc --- /dev/null +++ b/C#进阶/Lesson11_泛型栈和队列练习/Program.cs @@ -0,0 +1,39 @@ +using System.Collections.Generic; +namespace Lesson11_泛型栈和队列练习 +{ + internal class Program + { + static void Main(string[] args) + { + #region + //总结一下 + //数组,List,Dictionary,Stack,Queue,LinkedList + //这些存储容器对我们来说应该如何使用 + + //普通线性表: + //数组,List,LinkedList + //数组:定长,查询快,增删慢 + //List:经常增删,通过下标查询 + //LinkedList:不定长的,经常增删,查找不多 + + //先进后出: + //stack + //对于一些可以利用先进后出逻辑的场景,可以使用stack + //例如游戏UI的打开和关闭 + + //先进先出: + //queue + //对于一些可以利用先进先出逻辑的场景,可以使用queue + //例如游戏中的子弹池,子弹的发射和回收 + //消息队列 + + //键值对: + //Dictionary + //需要频繁通过键来查找值的场景,可以使用Dictionary + //比如ID对应的数据内容 + //道具ID对应道具信息 + //怪物ID对应怪物对象 + #endregion + } + } +}