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'

c#结构体中的最大值

您正在点入m结构体以检索grades值。grades的数据类型为int。因此,m.grades是一个int。您正在尝试将m.grades分配给另一个无效的GradexStudent结构体。

让它更清楚,这是有效的吗?

GradexStudent n = 3;

当然不是。


你可能想要做什么

int n = m.grades;

如何修复Max()

我假设studentArrayList。如果你想获得成绩最高的学生,你可以使用内联比较函数,如下所示:

GradexStudent m = student.Max(s => s.Student.grades);