c#结构体中的最大值
本文关键字:最大值 结构体 | 更新日期: 2023-09-27 18:12:23
我为GradesxStudent结构体创建了一个数组,并插入了学生的名字和他们的成绩,然后我被卡在墙上,无法通过,
我实际上试图获得数组内的成绩的最大值,但我找不到一种方法来通过它。
我创建了一个结构体而不是两个数组。注意:有一个错误,甚至不允许我编译。
public struct GradesxStudent
{
public string student;
public int grades;
}
Console.WriteLine("'nName of the best student");
for (int i = 0; i < student.Length; i++)
{
GradesxStudent m = student.Max();
GradesxStudent n = m.grades;
Console.WriteLine("{0,5}{0,5}", m,n);
}
错误:GradesxStudent n = m.grades;
不能隐式地将类型'int'转换为'Students.program.GradesxStudent'
您正在点入m
结构体以检索grades
值。grades
的数据类型为int
。因此,m.grades
是一个int
。您正在尝试将m.grades
分配给另一个无效的GradexStudent
结构体。
让它更清楚,这是有效的吗?
GradexStudent n = 3;
当然不是。
你可能想要做什么
int n = m.grades;
如何修复Max()
我假设student
是Array
或List
。如果你想获得成绩最高的学生,你可以使用内联比较函数,如下所示:
GradexStudent m = student.Max(s => s.Student.grades);