我制作了一个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'
答案 0 :(得分:1)
您正在点击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);