2016-12-06 49 views
-4

好吧,所以我正在努力創建一個「簡單」程序,它需要一個答案文件。我曾嘗試在代碼中添加一個密鑰,然後使用StreamReader將該密鑰與上傳的文件進行比較。我收到的第一個錯誤是#CS0622。它似乎沒有認識到價值。C#程序。將數組轉換爲字符串有問題

我想要做的是將上傳的文件與答案關鍵字進行比較,如果「人員」正確回答了足夠的問題,讓它顯示「通過」,如果不是「失敗」。同時顯示正確答案的數量,不正確的數量,以及個人錯誤的數量。

因此,讓我們將它應用到我已經寫好的代碼中,並且我將非常感謝有關如何修正和修正此代碼的幫助。如果我需要回答任何事情有任何問題,我可能上錯過了,隨便問:

public Form1() 
    { 
     InitializeComponent(); 
     string testkey = { 'B', 'D', 'A', 'A', 'C', 'A', 'B', 'B', 'C', 'D', 'B', 'C', 'D', 'A', 'D', 'C', 'C', 'B', 'D', 'A' }; 

     const int Size = 20; 
     string[] answers = new string[Size]; 

     Int index = 0; 

     StreamReader inputFile; 
     inputFile = File.OpenText("Response.txt"); 

     while (index < numbers.Length && !inputFile.EndOfStream) 
     { 
      numbers[index] = inputFile.ReadLine(); 
      index++; 
     } 
     inputFile.Close();     
    } 

    void gradeButton_Click(object sender, EventArgs e) 
    { 
     //Clicking will grade Response.txt file in bin against testkey 

    } 

    class Int 
    { 
     public static implicit operator Int(int v) 
     { 
      throw new NotImplementedException(); 
     } 
    } 
} 
+1

請從帖子中刪除不相關的代碼,並說出你正面臨的實際問題 –

+0

這就是問題,我被困在'string testkey = {'B','D','A',' A',C,A,B,B,C,D,B,C,D,A,D,C, ,'C','B','D','A'}; 我不知道如何解決這個問題,然後在那之後如何讓通過/失敗評論顯示在標籤 ' – gwatson117

+0

啊啊是的,錯誤0622在這個代碼的某處。 – Plutonix

回答

0

您的問題是「字符串密押= {‘B’,‘d’,......」語法錯誤。 一個字符串是一個包含(內部)一個字符數組的單個不可變對象。 似乎試圖創建一個字符數組,但試圖創建一個字符串。

string testkey =「abcde」;是有效的 char [] testkey = {'a','b','c'}是有效的。

你在做什麼是混合兩個(無效!)。

祝你好運!

+0

這非常有幫助,我將其更改爲char []並且工作。 我不知道如何編寫gradeButton_Click的代碼來顯示我想要的通過/失敗功能,您能否幫我解決這個問題? – gwatson117

+0

嗨, 最難的是得到了正確的聲明。我想你會把其餘的工作,並享受解決它啓動。 但是絕對要擺脫你的'Int'類 - .Net擁有你在這個級別所需要的所有類。 – Monza

1

String已經是char陣列,但是,這並不意味着你可以隨意插入charstring變量(我沒有說你不能)。
您可以通過String testkey = "ABC...";聲明字符串,並使用索引對每個元素進行訪問,即:testkey[0]爲「A」。