添加Lesson1,ArrayList

This commit is contained in:
2025-10-10 09:39:57 +08:00
parent 341fa3a006
commit 114536061f
6 changed files with 227 additions and 1 deletions
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
+86
View File
@@ -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
}
}
}