2016-10-02 10 views
0

私はC#を初めて使用していて、ユーザー入力から配列を取り込む方法を考えていません。私は、ユーザーが、各ジョブおよびジョブごとに賃金が完了するまでの時間を、各ジョブの説明を入力しますC#ユーザー入力でオブジェクト配列を作成する

static Job[] jobArray = new Job[5]; 

5仕事オブジェクトの配列です。入力した値を配列に入れる必要があります。 ご協力いただきありがとうございます。

+0

DescriptionHoursPay性質のためにそれをしません。時にはこれが人に本能的な憎しみを引き起こすこともあります。 「どうして彼はそれを知らないの?」のように。 Fyi。あなたの質問は私にとってはうまくいくようです。問題は明確に定義されています。それ以外の場合は、サイトにようこそ。 – usr

答えて

0

あなたが覚えておく必要があるのは、配列を初期化する場所の上の行は、その中にオブジェクトを作成せず、配列のみを作成することです。

アレイの各位置について、ユーザーから情報を要求し、適切なプロパティーに格納する必要があります。次に、新しいオブジェクトを配列に割り当てます。

このコードサンプルは、そのような初心者の質問ですので、ご質問はおそらくdownvotedされているJob

Job[] jobArray = new Job[5]; 

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

    Console.WriteLine("Job " + i); 

    Console.WriteLine("Enter description:"); 
    job.Desciption = Console.ReadLine(); 

    Console.WriteLine("Enter hours:"); 
    job.Hours = Console.ReadLine(); 

    Console.WriteLine("Enter pay:"); 
    job.Pay = Console.ReadLine(); 

    jobArray[i] = job; 
} 
+0

他のフィールド(時間、お支払い)ありがとう、私は2つの他の配列を使用しますか? – John

+0

@John - 更新を参照してください。他の配列は必要ありませんが、すでに作成している項目のプロパティを設定するだけです –

0

仕事を読み取るための関数を作成します。その後、

static Job ReadJob() { 
return new Job() { 
    Name = Console.ReadLine(), 
    Description = Console.ReadLine(), 
    //... 
}; 
} 

と配列を埋める:この

for (int i = 0; i < jobs.Length; i++) 
jobs[i] = ReadJob(); 

無限のバリエーションが可能です。

+1

これは適切なカプセル化レベルのソリューションです。それは誰もがこれをdownvoteことは奇妙です。 – dasblinkenlight

関連する問題