结构C#中的最高值

时间:2016-10-09 03:34:54

标签: c# visual-studio struct

我制作了一个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'

1 个答案:

答案 0 :(得分:1)

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

为了更清楚,这是否有效?

GradexStudent n = 3;

当然不是。

你可能想做什么

int n = m.grades;

如何修复Max()

我假设studentArrayList。如果您想让学生获得最高分,您可以使用内联比较功能,如下所示:

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