2016-10-03 7 views
1

私は、説明、完了までにかかる時間と毎時支払いを含む5つのジョブを挿入する配列を持っています。私がこの言語を使い慣れていないので初心者の質問に対する謝罪。どんな助けもありがとう。c#配列に内容が出力されない

private static void EnterJobs() 
    { 

     //string inputString; 
     for (int i = 0; i < jobArray.Length; i++) 
     { 
      Job job = new Job(); 

      Console.WriteLine("Job " + i); 

      Console.WriteLine("Enter a job description."); 
      job.Description = Console.ReadLine(); 

      Console.WriteLine("Enter the amount of hours required to complete the job."); 
      job.hoursToComplete = Convert.ToInt32(Console.ReadLine()); 

      Console.WriteLine("Enter the hourly rate for the job."); 
      job.hourlyRate = Convert.ToInt32(Console.ReadLine()); 

      jobArray[i] = job; 
     } 

私はそれが私はメモ帳でこれをアップjotted

 for (int i = 0; i < jobArray.Length; i++) 
     { 
      Console.WriteLine(jobArray[i]); 
     } 
+0

を知っておくべきかと思いますか? ToString()メソッドが必要です。 –

+0

各ジョブが異なるプロパティまたはフィールド(またはその両方)を持つときに、単一の変数のようなクラスを扱っています。それらのそれぞれが処理される必要があります。 –

答えて

2

このループを使用して

DemoJobs.Job 
DemoJobs.Job 
DemoJobs.Job 
DemoJobs.Job 
DemoJobs.Job 

印刷しますが、あなたの仕事に配列の内容を印刷しようとすると、あなたのプログラムで何を印刷するかを知るためには、次のようなものが必要です:

public override string ToString() 
{ 
    return this.Description + ", Hours: " + this.Hours.ToString() + ", Rate: " + this.Rate.ToString(); 
} 

その後、あなたはどのようにネットあなたは `job`のタイプがコンソール上に見えるようにしたいものを

Console.WriteLine(job1.ToString()); 
+0

またはjobArray [0] .ToString();-) –

+0

@Rob正しいことをConsole.WriteLine(jobArray [0] .Job.Description)できます。私は自分の答えを編集しました – KingDan

関連する問題