C#创建一个学生类Student,具有姓名、班级、年龄等属性。使用哈希表Hashtable存储几个学生对象,实现对集合中的学生对象的增删改查。
时间: 2024-11-03 11:17:54 浏览: 4
哈希表-使用C++实现的哈希表-HashTable.zip
在C#中,你可以首先定义一个名为`Student`的类,包含姓名、班级和年龄等基本属性:
```csharp
public class Student
{
public string Name { get; set; }
public string ClassName { get; set; }
public int Age { get; set; }
// 构造函数
public Student(string name, string className, int age)
{
Name = name;
ClassName = className;
Age = age;
}
}
```
接下来,你可以使用`Dictionary<TKey, TValue>`(类似于哈希表Hashtable)来存储学生的集合。这里我们使用字符串作为键(例如学生ID),`Student`对象作为值:
```csharp
Dictionary<string, Student> studentCollection = new Dictionary<string, Student>();
// 增加学生
void AddStudent(Student student)
{
if (!studentCollection.ContainsKey(student.Name))
{
studentCollection.Add(student.Name, student);
Console.WriteLine($"添加了学生:{student.Name} - 班级:{student.ClassName}, 年龄:{student.Age}");
}
else
{
Console.WriteLine("学生已存在,无法添加");
}
}
// 删除学生
void RemoveStudent(string studentId)
{
if (studentCollection.ContainsKey(studentId))
{
studentCollection.Remove(studentId);
Console.WriteLine($"删除了学生:{studentId}");
}
else
{
Console.WriteLine($"找不到学生ID:{studentId}");
}
}
// 更新学生信息
void UpdateStudent(string studentId, string newName, string newClassName, int newAge)
{
if (studentCollection.TryGetValue(studentId, out Student student))
{
student.Name = newName;
student.ClassName = newClassName;
student.Age = newAge;
Console.WriteLine($"更新了学生:{student.Id} 的信息");
}
else
{
Console.WriteLine($"找不到学生ID:{studentId}");
}
}
// 查询学生
void FindStudent(string studentId)
{
if (studentCollection.TryGetValue(studentId, out Student student))
{
Console.WriteLine($"找到的学生:{student.Name} - 班级:{student.ClassName}, 年龄:{student.Age}");
}
else
{
Console.WriteLine($"找不到学生ID:{studentId}");
}
}
// 示例用法
Student s1 = new Student("张三", "一班", 18);
AddStudent(s1); // 添加学生
FindStudent("张三"); // 查找学生
UpdateStudent("张三", "李四", "二班", 19); // 更新学生
RemoveStudent("张三"); // 删除学生
```
阅读全文