20230706_092941 ArrayList的使用 csharp
引入集合
using System.Collections;
实例化一个ArrayList集合
// 实例化一个ArrayList对象
ArrayList class3101= new ArrayList();
说明
实例化ArrayList的时候没有明确内容的类型
所以放进去的数据
都会被装箱
变成Object类型
所以在取出来的时候
要么用Object类型的变量接收
要么使用拆箱方式来接收
定义学生类
定义一个学生类
学生类中有姓名,年龄
学生具有自我介绍的方法showInfo
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Student
{
private String name;
public String Name
{
get { return name; }
set { name = value; }
}
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
public void showInfo() {
Console.WriteLine("大家好,我叫{0},今年{1}岁",name,age);
}
}
}
实例化三个学生
// 有三个同学
Student lb = new Student();
lb.Name = "刘备";
lb.Age = 44;
Student gy = new Student();
gy.Name = "关羽";
gy.Age = 32;
Student zf = new Student();
zf.Name = "张飞";
zf.Age = 26;
把三个学生放到集合中
// 把三个学生放到集合中
class3101.Add(lb);
class3101.Add(gy);
class3101.Add(zf);
让下标为1的学生进行自我介绍
// 获取下标为1的学生
Student temp = (Student)class3101[1];
// 让这个学生自我介绍
temp.showInfo();
下标为0的同学年龄长了一岁
修改的是成员的属性值
// 让0号同学年龄加一岁
Student temp0 = (Student)class3101[0];
int newAge = temp0.Age + 1;
temp0.Age = newAge;
班里的0号同学被吕布代替了
直接把集合中的成员替换掉
// 0号同学变成吕布
Student lvbu = new Student();
lvbu.Name = "吕布";
lvbu.Age = 36;
class3101[0] = lvbu;
让班里的所有同学自我介绍
通过遍历的方式来实例
Console.WriteLine("=====使用for遍历====");
for (int i = 0; i < class3101.Count; i++)
{
// 通过当前下标获取成员
Student s = (Student)class3101[i];
// 让这个成员s进行自我介绍
s.showInfo();
}
删除 按照数据删
// 删除 按照数据来删除
class3101.Remove(zf);
注意事项
当前集合的成员中有:
lb
gy
zf
我们删除的是mzf
虽然它的数据值与zf是一模一样的
但是
他们不是同一个对象
// 删除 按照数据来删除 [lb,gy,zf]
class3101.Remove(mzf);