2017-12-21 4 views
0

私はGradesクラスに渡されるStudentsクラスのリストを持っています。 しかし、Studentsクラスのメソッドが終了すると、このメインメニューに戻り、グレードを入力するオプションがあります。基本的には、このリストをStudentsクラスからControllerクラスに、そしてGradesクラスに渡す必要があります。私はこれについてどうやって行くのですか?なぜ私はこのリストを通過させませんか?

Students get = new Students(); 
Grades grades = new Grades(); 
Search run = new Search(); 

do 
{ 
    Console.WriteLine("Please select assessment category: "); 
    Console.WriteLine("________________________________________________________________________________"); 
    Console.WriteLine(" "); 
    Console.WriteLine("\t\t\tPlease make a selection 1-4: "); 
    Console.Write("\n\t\t\t1. Assignments."); 
    Console.Write("\n\t\t\t2. Discussion Topics."); 
    Console.Write("\n\t\t\t3. Exams."); 
    Console.Write("\n\t\t\t4. Individual Project."); 
    Console.Write("\n\t\t\t5. Go Back to main menu."); 
    Console.WriteLine(""); 
    Console.WriteLine("___________________________________________________"); 

category = int.Parse(Console.ReadLine()); 

switch (decision) 
    { 
    case 1: 
     Console.Clear(); 
     get.AddStudent(); 
     break; 
    case 2: 
     Console.Clear(); 
     grades.EnterGrades(List<string> addedStudents); 
     break; 
    case 3: 
     Console.Clear(); 
     run.StudentSearch(); 
     break; 
    case 4: 
     retry = "no"; 
     Console.Clear(); 
     break; 
    default: 
     Console.WriteLine("\nThat is not a valid option."); 
     Console.WriteLine("Would you like to retry? Type 'yes' or 'no'."); 
     retry = Console.ReadLine(); 
     Console.Clear(); 
     break; 
    } 

}while (retry != "no");  
+0

メインメニュークラスは表示できますか? – john

+0

@johnあなたはメインメニュークラスのほとんどを見ています。上記のコードは、最初のステートメントとして 'var decision = int.Parse(Console.ReadLine())'を持つ 'while(true)'にラップされています。 1997年に私を連れて帰る:D – vzwick

+0

マイケル、私は正直言って私のコメントがおそらく遭遇するほど狡猾であることを意味しませんでした。私たちは皆どこかに出発しました。私たちの多くは、あなたが今やっているように、苦労したことを覚えています。私は実際には本当の古典と考えていた "無限ループのメインメニュー"。 – vzwick

答えて

4

変数を渡す場所を宣言することができないためです。試してみてください:

case 2: 
    Console.Clear(); 
    List<string> addedStudents = new List<string>(); 
    grades.EnterGrades(addedStudents); 
    break; 

しかし、私は全面的に間違っていると思います。

+2

私は、全体的に全体がもっと間違っていると思います - あなたは変数を命名することを提案しようとしていますか? ;) – vzwick

+1

大胆なデザインの選択は? –

+1

ああ、明日からコードレビューで私の新しいgo-to-phraseになるよ! – vzwick

関連する問題