Dictionary Werte aendern

17/04/2008 - 16:07 von ekkehard.horner | Report spam
Gibt es eine bessere Moeglichkeit als

Dictionary<String, String> dicTest = new Dictionary<String,String>();
dicTest.Add("1", "eins");

String [] aKeys = new String[ dicTest.Keys.Count ];
dicTest.Keys.CopyTo( aKeys, 0 );
foreach (String sKey in aKeys)
{
dicTest[sKey] = dicTest[sKey].ToUpper();
}

, um die Werte eines Dictionary (in einer Schleife) zu aendern?

Danke.
 

Lesen sie die antworten

#1 Martin Honnen
17/04/2008 - 16:52 | Warnen spam
ekkehard.horner wrote:
Gibt es eine bessere Moeglichkeit als

Dictionary<String, String> dicTest = new Dictionary<String,String>();
dicTest.Add("1", "eins");

String [] aKeys = new String[ dicTest.Keys.Count ];
dicTest.Keys.CopyTo( aKeys, 0 );
foreach (String sKey in aKeys)
{
dicTest[sKey] = dicTest[sKey].ToUpper();
}

, um die Werte eines Dictionary (in einer Schleife) zu aendern?



Mit .NET 3.5 etwa
Dictionary<String, String> dicTest = new Dictionary<String,
String>();
dicTest.Add("1", "eins");

foreach (string key in dicTest.Keys.ToList())
{
dicTest[key] = dicTest[key].ToUpper();
}

Mit .NET 2.0 und 3.0 etwa

Dictionary<String, String> dicTest = new Dictionary<String,
String>();
dicTest.Add("1", "eins");

foreach (string key in new List<string>(dicTest.Keys))
{
dicTest[key] = dicTest[key].ToUpper();
}

Wobei ich das zumindest eleganter finde, "besser" ist fraglich.



Martin Honnen MVP XML
http://JavaScript.FAQTs.com/

Ähnliche fragen