C#程序设计——集合和泛型,设计一个Windows应用程序,定义一个Student类,包含姓名和学号两个字段和一个输出自己信息的方法,并用泛型集合List<Student>存放学生信息。

一、实验目的                 

  1. 初步掌握常用集合的创建和操作方法。

  2. 理解泛型的定义与使用。

二、实验内容

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)  添加函数

猜你喜欢

转载自blog.csdn.net/WZY22502701/article/details/130872180