2012-10-09 51 views
0

我跑傢伙非常感謝我剛剛刪除一切,從頭重新開始程序!現在我有問題:如何數組值設置爲一個構造函數C#

//

public Grade (string cname , int Studentident , int [] homework , int [] classwork ,  int [] midexam , int [] finalexam) 
{ 
    coursename = cname ; 
    Studentid = Studentident ; 
    hwgrade = homework ; 
    cwgrade = classwork ; 
    midegrade = midexam ; 
    finalegrade = finalexam ; 
} 

//嘗試設置它給我一個錯誤不能從int轉換爲int []值

Grade grade = new Grade('m',1,1,1,1,1); 

構造

+0

什麼是你想要接受?你需要整數爲'homework','classwork','midexam'和'finalexam'一個數組? –

+2

如果你不能花15秒鐘,這兩點需要理解錯誤信息,你不會有一個很好的時間在C#... –

+0

你應該只通過查看錯誤信息瞭解這樣的小錯誤..或者你應該嘗試谷歌或期望downvote在這裏.. – dotNETbeginner

回答

5

你必須通過在陣列,而不是單一的值:

Grade grade = new Grade('m', 
         new int[] {1}, 
         new int[] {1}, 
         new int[] {1}, 
         new int[] {1}, 
         new int[] {1}); 

int畢竟不是一樣的int[]

以上假設您的字段(例如hwgrade)被聲明爲int[]而不是int

如果不是這種情況,並且字段實際上是整數,而不是整數數組,你需要改變方法簽名取整數,而不是數組:

public Grade(string cname, 
      int Studentident, 
      int homework, 
      int classwork, 
      int midexam, 
      int finalexam) 
+0

他們實際上是整數陣列。非常感謝您的俄德法讓我擺脫了錯誤的 – Shane

+1

@Shane - 很高興我能幫助,但我不禁懷疑,如果你明白現在爲什麼會得到錯誤,爲什麼我的回答幫... – Oded

+0

好了大部分我明白,int的不同於int數組。因爲我把它們中的一些聲明爲int數組,我將不得不使用正確的語法來爲它們設置值。但是我的主要目標是讓更多的值,通過輸入它們的用戶添加到陣列(到Console.ReadLine()),但我不知道這是否可能 – Shane

0

您可以使用此代碼替換 - 刪除[]如果你想使用int,而不是INT

Grade (string cname , int Studentident , int homework , int classwork ,  int midexam , int finalexam) 
{ 
    ... 
} 

陣列或與new int[] {1}創建數組,並傳遞參數

+0

這也有助於謝謝你。 – Shane

+0

我很樂意爲您提供幫助 –