簡體   English   中英

結構 C# 中的最大值

[英]Highest value in an struct C#

我制作了一個 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值。 的數據類型gradesint 因此, m.grades是一個int 您正在嘗試將m.grades分配給另一個無效的GradexStudent結構。

為了更清楚,這是否有效?

GradexStudent n = 3;

當然不是。


你可能想做的事

int n = m.grades;

如何修復Max()

我假設studentArrayList 如果你想讓學生獲得最高成績,你可以使用像這樣的內聯比較函數:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM