Der beste Weg, um einem Wörterbuch ein neues Schlüsselwertpaar hinzuzufügen, wenn es noch nicht vorhanden ist, sondern WC#

Ein Treffpunkt für C#-Programmierer
Guest
 Der beste Weg, um einem Wörterbuch ein neues Schlüsselwertpaar hinzuzufügen, wenn es noch nicht vorhanden ist, sondern W

Post by Guest »

Versuchen Sie, den "besten" Weg zu finden, um Code für das folgende Szenario zu schreiben. Sagen Sie, ich habe das folgende Wörterbuch -Objekt < /p>
Dictionary myDict = new Dictionary()
< /code>
Ich werde ein Wort durchlaufen und das Vorkommen der Buchstaben im Wort zum Wörterbuch hinzufügen. Jedes Mal, wenn ich auf einen neuen Buchstaben (neuer Schlüssel) stoße, möchte ich ihn mit Init -Wert von 1 hinzufügen. Andern Wenn es sich um eine "beste" oder "korrekte" Art und Weise handelt.string word = "aaabbc";
< /code>
Option 1 < /p>
foreach(char ltr in word){
if (myDict.ContainsKey(ltr) {
myDict[ltr] +=1;
} else {
myDict[ltr] = 1;
}
< /code>
Option 2 < /p>
foreach(char ltr in word){
try {
myDict.Add(ltr, 1);
} catch(Exception){
myDict[ltr] += 1;
}
}
< /code>
Option 3 < /p>
foreach(char ltr in word){
int dummy = myDict.ContainsKey(ltr) ? myDict[ltr] += 1 : myDict[ltr] = 1
}
< /code>
Option 1 scheint der grundlegendste zu sein. Überprüfen Sie einfach, ob der Schlüssel existiert, und tun Sie, was je nach Ergebnis getan werden muss. Option 2 ist interessant, ich frage mich, ob es sich auf optimale Weise möglicherweise schneller oder langsamer unterscheiden. Option 3 scheint am prägnantesten zu sein, aber ich mag es nicht, wie er den Dummy -Int -Wert braucht, um das auszuführen, was ich tun möchte (vielleicht verwende ich hier den ternären Ausdruck jedoch falsch). < /P>
Also, welche dieser 3 ist die "beste" oder vermisse ich anders?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post