一、实验目的
-
初步掌握常用集合的创建和操作方法。
-
理解泛型的定义与使用。
二、实验内容
1、设计一个Windows应用程序,定义一个Student类,包含姓名和学号两个字段和一个输出自己信息的方法,并用泛型集合List<Student>存放学生信息。主要功能要求如下:
(1)当点击【添加到末尾】时,将学生对象存储到List里,并在 label上显示数据;
(2)当点击【遍历】时,遍历List里学生信息,并在 label上显示数据;
(3)当点击【插入到】时,将学生信息存储到指定的索引位置,并在 label上显示数据;
(3)当点击【删除】时,删除指定的索引位置学生信息,并在 label上显示数据;
实现效果如下图所示:
参考代码如下:
1.首先定义Student类
2.在Form类里创建List对象,定义一个显示学生信息的方法
3.【添加到末尾】按钮的实现,请补充其它按钮代码的实现
实现的核心代码:
namespace List使用
{
public partial class Form1 : Form
{
List<Student> a = new List<Student>();
private void display()
{
foreach(object x in a)
{
Student s = (Student)x;
label3.Text += "\n" + s.ShowMsg();
}
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) //添加到末尾
{
int stuNo = Convert.ToInt32(textBox2.Text);
Student x = new Student(textBox3.Text, stuNo);
a.Add(x);
label3.Text = "";
display();
}
private void button2_Click(object sender, EventArgs e) //遍历
{
//display();
}
private void button3_Click(object sender, EventArgs e) //插入到
{
int stuNo = Convert.ToInt32(textBox1.Text);
Student x = new Student(textBox3.Text,stuNo);
a.Insert(index,x);
label3.Text = "";
display();
}
private void button4_Click(object sender, EventArgs e)//删除
{
int index = Convert.ToInt32(textBox1.Text);
a.RemoveAt(index);
label3.Text = "";
display();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
}
public class Student
{
private string name;
private int stuNo;
public Student(string name,int no)
{
this.name = name;
this.stuNo = no;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int StuNo
{
get
{
return stuNo;
}
set
{
stuNo = value;
}
}
public string ShowMsg()
{
return string.Format("学号:{0},姓名:{1}!", stuNo, name);
}
}
}
实现的效果截图:
三、实验要求
1.预习试验内容并写出上机报告。
2.记录实验中疑难点及实验体会。
(1)本实验中采用了泛式集合list,所以“插入到”按钮使用list的insert函数时,必须要使用student类变量,大大提高了代码的安全性。
(2)本实验需要采用的list集合的函数:
Insert(int index,Student x) 插入函数
Remove(int index) 删除函数
Add(Student x) 添加函数