2016-10-02 51 views
0

我是新來的c#,很難搞清楚如何從用戶輸入填充數組。我有5個工作對象的數組C#使用用戶輸入填充對象數組

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

用戶將被輸入每個作業的說明,時間來完成每項工作和每個崗位的薪酬。我需要將這些輸入值放入數組中。 任何幫助,將不勝感激,謝謝。

+0

DescriptionHoursPay性能。有時這會引起人們的本能仇恨。像「他怎麼會不知道這個?!」。僅供參考。你的問題對我來說似乎很好。問題明確界定。否則,歡迎來到該網站。 – 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

這是正確的解決方案,具有良好的封裝級別。任何人都會低估這一點很奇怪。 – dasblinkenlight