From 114536061f4f985b7ad3e26e3a2d929e9bc2eded Mon Sep 17 00:00:00 2001
From: Kister Hakusan <2753888203@qq.com>
Date: Fri, 10 Oct 2025 09:39:57 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0Lesson1=EF=BC=8CArrayList?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
C#进阶/C#进阶.sln | 14 ++-
.../Lesson1_ArrayList/Lesson1_ArrayList.csproj | 10 +++
C#进阶/Lesson1_ArrayList/Program.cs | 86 +++++++++++++++++++
.../Lesson1_ArrayList练习题.csproj | 10 +++
C#进阶/Lesson1_ArrayList练习题/Program.cs | 85 ++++++++++++++++++
C#进阶/test/Program.cs | 23 +++++
6 files changed, 227 insertions(+), 1 deletion(-)
create mode 100644 C#进阶/Lesson1_ArrayList/Lesson1_ArrayList.csproj
create mode 100644 C#进阶/Lesson1_ArrayList/Program.cs
create mode 100644 C#进阶/Lesson1_ArrayList练习题/Lesson1_ArrayList练习题.csproj
create mode 100644 C#进阶/Lesson1_ArrayList练习题/Program.cs
diff --git a/C#进阶/C#进阶.sln b/C#进阶/C#进阶.sln
index d62587b..87dd804 100644
--- a/C#进阶/C#进阶.sln
+++ b/C#进阶/C#进阶.sln
@@ -1,10 +1,14 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.14.36202.13 d17.14
+VisualStudioVersion = 17.14.36202.13
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "test", "test\test.csproj", "{5B032C55-6E02-4EA9-BE52-083A6DA91295}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson1_ArrayList", "Lesson1_ArrayList\Lesson1_ArrayList.csproj", "{A3FB97E5-BFB8-41F5-AA91-79C16EC75513}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson1_ArrayList练习题", "Lesson1_ArrayList练习题\Lesson1_ArrayList练习题.csproj", "{B9F9E174-21EA-40E7-A139-58FFD3448023}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +19,14 @@ Global
{5B032C55-6E02-4EA9-BE52-083A6DA91295}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5B032C55-6E02-4EA9-BE52-083A6DA91295}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5B032C55-6E02-4EA9-BE52-083A6DA91295}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A3FB97E5-BFB8-41F5-AA91-79C16EC75513}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A3FB97E5-BFB8-41F5-AA91-79C16EC75513}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A3FB97E5-BFB8-41F5-AA91-79C16EC75513}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A3FB97E5-BFB8-41F5-AA91-79C16EC75513}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B9F9E174-21EA-40E7-A139-58FFD3448023}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B9F9E174-21EA-40E7-A139-58FFD3448023}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B9F9E174-21EA-40E7-A139-58FFD3448023}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B9F9E174-21EA-40E7-A139-58FFD3448023}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/C#进阶/Lesson1_ArrayList/Lesson1_ArrayList.csproj b/C#进阶/Lesson1_ArrayList/Lesson1_ArrayList.csproj
new file mode 100644
index 0000000..2150e37
--- /dev/null
+++ b/C#进阶/Lesson1_ArrayList/Lesson1_ArrayList.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
diff --git a/C#进阶/Lesson1_ArrayList/Program.cs b/C#进阶/Lesson1_ArrayList/Program.cs
new file mode 100644
index 0000000..a0c2b4b
--- /dev/null
+++ b/C#进阶/Lesson1_ArrayList/Program.cs
@@ -0,0 +1,86 @@
+using System.Collections;
+
+namespace Lesson1_ArrayList
+{
+ internal class Program
+ {
+ static void Main(string[] args)
+ {
+ #region 练习题回归
+ //C#核心中 索引器的练习题
+ //自定义一个整形数组类,该类中有一个整形数组变量
+ //为他封装增删查改的方法
+ #endregion
+
+ #region 知识点一 ArrayList的本质
+ //ArrayList是c#为我们封装好的类
+ //本质是一个Object类型的数组
+ //ArrayList可以帮我们实现增删改查等功能
+ #endregion
+
+ #region 知识点二 声明
+ //注意:使用ArrayList需要引入命名空间 using System.Collections;
+ ArrayList arrayList = new ArrayList();
+ #endregion
+ ///可以用F12进ArrayList中查看方法或去微软官方文档查看
+
+
+ #region 知识点三 增删改查
+ //增
+ arrayList.Add(1.2f);
+ arrayList.Add("123");
+ arrayList.Add(new Object());
+ arrayList.Add(true);
+ //插入
+ arrayList.Insert(0, "插入的元素");//在指定索引位置插入元素,原来该位置及其后面的元素依次后移
+
+ arrayList.AddRange(new int[] { 1, 2, 3, 4, 5 });//一次性添加多个元素
+ //删
+ arrayList.Remove("123");//移除指定元素,如果有多个相同元素,只移除第一个
+ arrayList.RemoveAt(0);//移除指定索引位置的元素
+ arrayList.RemoveRange(0, 2);//移除从指定索引位置开始的指定个数的元素
+ arrayList.Clear();//清空所有元素
+ //改
+ arrayList[1] = 4;
+ //查
+ Console.WriteLine(arrayList[0]);
+ if (arrayList.Contains("123"))
+ {
+ //如果包含指定元素执行的代码
+ }
+ //正向查找指定的元素,返回索引位置,如果没有找到返回-1
+ int index = arrayList.IndexOf(3);
+ Console.WriteLine(index);
+ //反向查找指定的元素,返回索引位置,如果没有找到返回-1
+ int lastIndex = arrayList.LastIndexOf(3);
+ Console.WriteLine(lastIndex);
+ #region 遍历
+ Console.WriteLine(arrayList.Count);//获取元素个数(长度)
+ Console.WriteLine(arrayList.Capacity);//获取ArrayList的容量(用于以后避免产生过多垃圾)
+ for (int i = 0; i < arrayList.Count; i++)
+ {
+ Console.WriteLine(arrayList[i]);
+ }
+ //迭代器遍历
+ foreach (var item in arrayList)//有个var类型临时变量item来接每次遍历到的元素
+ {
+ Console.WriteLine(item);
+ }
+ #endregion
+
+ #endregion
+
+ #region 知识点四 装箱拆箱
+ //ArrayList存储的是Object类型的元素
+ //所以Object类型的数组存储的是值类型时会发生装箱拆箱
+ //装箱:值类型转换为引用类型的过程
+ //拆箱:引用类型转换为值类型的过程
+ //所以ArrayList存储值类型时会影响性能尽量少用
+ int i = 1;
+ arrayList.Add(i);//发生装箱
+ int j = (int)arrayList[0];//发生拆箱
+ #endregion
+
+ }
+ }
+}
diff --git a/C#进阶/Lesson1_ArrayList练习题/Lesson1_ArrayList练习题.csproj b/C#进阶/Lesson1_ArrayList练习题/Lesson1_ArrayList练习题.csproj
new file mode 100644
index 0000000..2150e37
--- /dev/null
+++ b/C#进阶/Lesson1_ArrayList练习题/Lesson1_ArrayList练习题.csproj
@@ -0,0 +1,10 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
diff --git a/C#进阶/Lesson1_ArrayList练习题/Program.cs b/C#进阶/Lesson1_ArrayList练习题/Program.cs
new file mode 100644
index 0000000..0fb59ae
--- /dev/null
+++ b/C#进阶/Lesson1_ArrayList练习题/Program.cs
@@ -0,0 +1,85 @@
+using System.Collections;
+
+namespace Lesson1_ArrayList练习题
+{
+ class Backpack
+ {
+ ArrayList stuff;
+ int money;
+ public Backpack()
+ {
+ money = 0;
+ stuff = new ArrayList();
+ }
+ public Backpack(int money)
+ {
+ stuff = new ArrayList();
+ this.money = money;
+ }
+ public void ShowBackPack()
+ {
+ Console.WriteLine("背包物品有:");
+ for (int i = 0; i < stuff.Count; i++)
+ {
+ if (i + 1 != stuff.Count)
+ {
+ Console.Write(stuff[i] + "、");
+ }
+ else
+ {
+ Console.WriteLine(stuff[i]);
+ }
+ }
+ }
+ public void BuyStuff(Object obj,int cost)
+ {
+ if(cost > money)
+ {
+ Console.WriteLine("余额不足");
+ }
+ else
+ {
+ stuff.Add(obj);
+ money -= cost;
+ Console.WriteLine("成功购买物品:" + obj);
+ }
+ }
+ public void SoldStuff(object obj,int earned)
+ {
+ if (stuff.Contains(obj))
+ {
+ stuff.Remove(obj);
+ money += earned;
+ Console.WriteLine("成功出售物品:" + obj);
+ }
+ else
+ {
+ Console.WriteLine("没有该物品,无法出售:" + obj);
+ }
+ }
+ public void ShowMoney()
+ {
+ Console.WriteLine("当前余额:" + money);
+ }
+ }
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ Backpack b1= new Backpack();
+ Backpack b2 = new Backpack(100);
+ b1.ShowBackPack();
+ b2.ShowBackPack();
+ b1.BuyStuff("sth1", 50);
+ b2.BuyStuff("sth2", 50);
+ b1.ShowBackPack();
+ b2.ShowBackPack();
+ b1.SoldStuff("sth1", 25);
+ b2.SoldStuff("sth2", 25);
+ b1.ShowBackPack();
+ b2.ShowBackPack();
+ b1.ShowMoney();
+ b2.ShowMoney();
+ }
+ }
+}
diff --git a/C#进阶/test/Program.cs b/C#进阶/test/Program.cs
index 7d65486..d5abc3b 100644
--- a/C#进阶/test/Program.cs
+++ b/C#进阶/test/Program.cs
@@ -6,5 +6,28 @@
{
Console.WriteLine("Hello, World!");
}
+ #region 知识点一
+ #endregion
+
+ #region 知识点二
+ #endregion
+
+ #region 知识点三
+ #endregion
+
+ #region 知识点四
+ #endregion
+
+ #region 知识点五
+ #endregion
+
+ #region 知识点六
+ #endregion
+
+ #region 知识点七
+ #endregion
+
+ #region 知识点八
+ #endregion
}
}