2016-04-02 12 views
0

Ich erstelle eine Anwendung für meine Computing Kursarbeit, wo Lehrer eine TXT-Datei hochladen, die Fragen für Schüler und Antworten für jede Frage enthält.Überprüfen Sie das Dokument für Arten von Fragen und Antworten

In der Datei beginnt jede Frage mit einem Symbol, um den Fragetyp zu bezeichnen (z. B. & bezeichnet Multiple Choice), Wie sollte ich für die verschiedenen Fragen überprüfen?

Ich dachte über streamreader.readline(), um jede Zeile zu lesen und dann Position 0 der Zeichenfolge zu überprüfen, aber gibt es eine effektivere Möglichkeit, dies zu tun?

Hier ist, was das Fragedokument nur mit mehr Fragen aussehen würde;

& Multiple-Choice-Frage
~ Richtige Antwort
-fehlerhafter Antwort
-fehlerhafter Antwort
-fehlerhafter
Antwort
? Textfeldantwort Frage
~ Richtige Antwort

+1

[String.StartsWith] (https://msdn.microsoft.com/en-us/library/baketfxw%28v=vs.110%29.aspx) wäre beschreibende Art und Weise zu prüfen, aber es doesn Mach keine Magie intern. – Filburt

+0

File.ReadAllLines fügt die gesamte Datei auf einmal zusammen und fügt sie in ein Array ein. Sie haben immer noch die Aufgabe, alle Zeilen auf ihren Inhaltstyp zu überprüfen. Beginnen Sie mit einer vollständigen Liste von Fällen !! – TaW

+0

Es gibt keine "ReadAlllines"? – Tigerwhoops97

Antwort

0

Mit solch einem grundlegenden Plan, Ihre einzige Wahl würde Schleife durch alle Linien im Dokument sein.

string[] documentText = File.ReadAllLines() 

foreach(string line in documentText) 
{ 
    // Skip empty lines 
    if(line == string.Empty) 
     continue; 

    // Check the first character 
    switch(line[0]) 
    { 
     case '~': // Correct answer, skip 
      break; 
     case '-': // Wrong answer, skip 
      break; 
     case '&': // Multiple choice 
      // Handle multiple choice here 
      break; 
     case '?': // Textbox queston 
      // Handle textbox questions here 
      break; 
    } 
} 
+0

Unter Verwendung dieser Methode konnte ich nicht die Frage und seine Antworten zusammen – Tigerwhoops97

+0

wo Sie die Multiple-Choice-Fragen und Textfeld zu behandeln Fragen können Sie die folgenden Zeilen lesen und speichern, bis Sie auf eine leere Zeile stoßen. –

Verwandte Themen