[英]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
值。 的數據類型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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.