2016-07-22 2 views
4

Einfache und einfache (aber nicht sehr nett) Weg ist nur, um das Array der Schlüssel zu erhalten und iterieren es aktualisieren jede Zeichenfolge.So erhalten Sie die String-Array aller Schlüssel aus dem Wörterbuch und ändern Sie jede Zeichenfolge auf die gleiche Weise

string[] mapKeys = myDictionary.Keys.ToArray(); 

    for (int i = 0; i < mapKeys.Length; i++) 
     mapKeys [i] = mapKeys [i].Replace("substringToRemove", ""); 

Aber gibt es eine Möglichkeit, es in 1 Zeile Code (z. B. mit LINQ) zu tun?

+4

wird nicht aktualisiert, die verwendeten Schlüssel im Wörterbuch, sondern nur die Kopie, die Sie in die gemacht 'ToArray' Anruf. Ist das was du willst? –

+0

Ja, genau das möchte ich. – user1271551

Antwort

5
mapKeys = mapKeys.Select(o=>o.Replace("substringToRemove", string.Empty)).ToArray(); 

oder von Ihrem myDictionary:

string[] mapKeys = myDictionary.Keys.Select(o=>o.Replace("substringToRemove", string.Empty)).ToArray(); 
3

Sie unter LINQ verwenden können:

mapKeys = mapKeys.Select(s => s.Replace("substringToRemove",string.Empty)).ToArray(); 
Diese
Verwandte Themen