2016-04-28 11 views
0

Ich habe unterschiedliche Zeichenfolgenwerte, die ich zu einem Schlüssel in einem Wörterbuch hinzufügen möchte.Hinzufügen von verschiedenen Zeichenfolgenwerten zu einer Liste in einem Wörterbuch

What is the correct answer(key) 
AnswerA(value) 
AnswerB(value) 
AnswerC(value) 

Ich tue dies auf eine Zeichenfolge, die die Spaltung unter Verwendung von (die in einer Schleife passiert).

string[] arr = l.ContentDescription.Split('|').ToArray(); 
Dictionary<string, List<string>> questions = new Dictionary<string, List<string>>(); 

for (int i = 0; i < arr.Length - 1; i++) 
{ 
    var arrB = arr[i + 1].Split('*').ToArray(); 
    //all theanswers should now be added to the list 
    questions.Add(arrB[0], new List<string>() { }); 
} 

arr sieht so etwas wie dieses

Choose the correct answer and submit|What is the correct answer*AnswerA*AnswerB*AnswerC 

Was der Zugabe dieser Antwortwerte der beste Weg ist, wenn sie in der Länge variieren

+1

Vielleicht 'questions.Add (arrB [0], arrB.Skip (1) .ToList());' ? –

Antwort

2

einfach das erste Element im Array (Linq) Überspringen:

1

Wie ich im Kommentar erwähnte, ist eine schnelle Lösung Skip wie t zu verwenden sein: Hier

questions.Add(arrB[0], arrB.Skip(1).ToList()); 

ist, wie ich das alles in LINQ tun würde:

var questions = 
    l.ContentDescription 
    .Split('|') 
    .Skip(1) //get rid of "Choose the correct answer and submit" 
    .Select(x => x.Split('*')) 
    .ToDictionary(x => x[0], x => x.Skip(1).ToList()); 
Verwandte Themen