2

以下は、いくつかのエラーを作成しています。つまり、「B」は認識されません(他の20文字と「ファイル」も認識されません)。

ここに問題が見えませんか?

string[] correctAnswers = {B,D,A,A,C,A,B,A,C,D,B,C,D,A,D,C,C,B,D,A}; 
string[] studentResults = File.ReadAllLines("studentResults.txt");

ありがとうございました

4

5 に答える 5

2

それらを二重引用符で囲む必要があります。

string[] correctAnswers = {"B","D","A","A","C","A","B","A","C","D","B","C","D","A","D","C","C","B","D","A"}; 

編集 :

(@goldenparrotに感謝)この名前空間を追加する必要があります:

using System.IO;

File.ReadAllLines()を使用できるようにします。それまたは:

string[] studentResults = System.IO.File.ReadAllLines("studentResults.txt");
于 2012-10-14T09:57:33.340 に答える
2
const string A = "A";
const string B = "B";
const string C = "C";
const string D = "D";

string[] correctAnswers = { B, D, A, A, C, A, B, A, C, D, B, C, D, A, D, C, C, B, D, A }; 
于 2012-10-14T09:58:42.467 に答える
1

他の人が言っているように、文字列リテラルは二重引用符で囲む必要があります。

ここで、文字の配列を維持する場合は、文字列も反復可能であるため、文字列の配列ではなく単純な文字列を使用するのがおそらく最善です。

string correctAnswers = "BDAACABACDBCDADCCBDA";

次に、次のようなものがあります。

foreach (char answer in correctAnswers) {
    // ...
}

質問の2番目の部分に関しては、FileクラスはSystem.IO名前空間に存在するため、ディレクティブが必要であるかusing System.IO;、完全修飾名でそのクラスを参照する必要がありますSystem.IO.File

于 2012-10-14T10:00:30.390 に答える
0

二重引用符で囲んだ文字を書き、@ファイルのパスに使用します。

string[] correctAnswers = {"B","D","A","A","C","A","B","A","C","D","B","C","D","A","D","C","C","B","D","A"};
 string[] studentResults = File.ReadAllLines(@"studentResults.txt");
于 2012-10-14T09:58:40.373 に答える
0

の配列がありstringます。ご存知のように(またはそうではない)、文字列は二重引用符で囲まれています-""。したがって、問題では、string[]は次のようになります。

string[] correctAnswers = {"B","D","A","A","C","A","B","A","C","D","B","C","D","A","D","C","C","B","D","A"}; 
于 2012-10-14T09:59:10.703 に答える