用c#创建一个学生类(Student),包括:学号,姓名,科目,成绩等字段,通过字符串索引器获取或设置各科成绩值
时间: 2024-09-28 12:07:01 浏览: 75
在C#中,你可以创建一个名为`Student`的类来表示学生,包含学号、姓名、科目列表以及成绩字典。这里是一个简单的例子:
```csharp
public class Student
{
private string studentId;
private string name;
private Dictionary<string, int> grades; // 存储学科和成绩
public Student(string studentId, string name)
{
this.studentId = studentId;
this.name = name;
this.grades = new Dictionary<string, int>();
}
// 使用字符串作为索引来访问和设置成绩
public int this[string subject]
{
get => grades.ContainsKey(subject) ? grades[subject] : default(int);
set
{
if (value >= 0) // 确保成绩非负
{
grades.Add(subject, value);
}
else
{
throw new ArgumentException("成绩值必须是非负数");
}
}
}
// 其他方法如添加科目、删除科目等...
public void AddSubject(string subject)
{
grades.Add(subject, 0); // 如果科目不存在,默认成绩为0
}
public void RemoveSubject(string subject)
{
if (grades.ContainsKey(subject))
{
grades.Remove(subject);
}
}
public override string ToString()
{
return $"学生ID: {studentId}, 姓名: {name}, 成绩: {grades}";
}
}
```
在这个类中,你可以像下面这样使用它:
```csharp
Student student = new Student("001", "张三");
student["数学"] = 95;
Console.WriteLine(student["数学"]); // 输出:95
// 添加其他科目
student.AddSubject("语文");
student.AddSubject("英语");
// 删除科目
student.RemoveSubject("英语");
```
阅读全文