2016-06-11 2 views
0

Указанный приказ недействителен, пожалуйста, сообщите мне любой способ получить значение max/min из всех значений, хранящихся в массиве, а не из определенного индекса.Указанный листинг недействителен, получение всех значений из массива с заусенцами

int max = jArray.Cast<int>().Max(); 
       System.Console.Write("\n\n Max marks:" + max); 

Декларация зубчатым массива:

string TotalStudents; 

     System.Console.Write("Enter the Total No. Of Students:"); 
     TotalStudents = Console.ReadLine(); 

     int value; 
     bool result = int.TryParse(TotalStudents, out value); 

     JaggedArray jag = new JaggedArray(value); 

     int[][] jArray = new int[jag.noOfStudents][]; 



     for (int i = 0; i < jag.noOfStudents; i++) 
     { 


      System.Console.Write("Enter the Total No. Of Subjects of Student:" + i + ":\t"); 
      string TotalSubjects = Console.ReadLine(); 

      int Subjectvalue; 
      bool Sresult = int.TryParse(TotalSubjects, out Subjectvalue); 
      jArray[i] = new int[Subjectvalue]; 

      for (int a = 0; a < Subjectvalue; a++) 
      { 
       System.Console.Write("\nEnter the marks obtained of subject:" + a + " of student " + i + ":\t"); 
       string TotalMarks = Console.ReadLine(); 

       int Marksvalue; 
       bool Mresult = int.TryParse(TotalMarks, out Marksvalue); 
       jArray[i][a] = Marksvalue; 

      } 

ответ

1

JArray является зазубренный массив (массив массивов), поэтому конкретный бросок к int является недействительным.

Я предлагаю сплющить структуру, используя SelectMany и ищите Max.

int max = jArray.SelectMany(x=>x.ToArray()).Max();