Entwickler-Ecke

Basistechnologien - Häufigkeit eines Values im Dictionary


Joey86 - Do 24.06.10 18:47
Titel: Häufigkeit eines Values im Dictionary
Hallo!
Gibt es eine einfache/schöne Möglichkeit zu zählen, wie häufig ein value (ein und derselbe Wert) innerhalb eines Dictionarys vorkommt?

Grüße


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Do 24.06.2010 um 19:32


Christian S. - Do 24.06.10 19:32

Sollte über LINQ recht einfach gehen :-)


C#-Quelltext
1:
myDict.Values.Where(aValue => aValue == "foo").Count();                    


Joey86 - Do 24.06.10 20:00

Zitat:
"System.Collections.Generic.Dictionary<string,string>.ValueCollection" enthält keine Definition für "Where", und es konnte keine Erweiterungsmethode "Where" gefunden werden, die ein erstes Argument vom Typ "System.Collections.Generic.Dictionary<string,string>.ValueCollection" akzeptiert. (Fehlt eine Using-Direktive oder ein Assemblyverweis?

Mhhh...Using-Direktive fehlt jedoch nicht.


Christian S. - Do 24.06.10 20:09

Ich schrieb nicht umsonst, dass man LINQ benutzt. Das bietet im Namespace System.Linq eine Menge praktischer Extension Methods ;-)


danielf - Do 24.06.10 20:15

Du musst mind. auf .NET Framework 3.5 kompilieren.

Außerdem würde ich fürs zählen die Count-Methode verwenden:

C#-Quelltext
1:
dict.Values.Count( item => item == object );                    


Gruß


Christian S. - Do 24.06.10 20:17

user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:
Du musst mind. auf .NET Framework 3.5 kompilieren.

Hat er zumindest angegeben, dass er das hat ;)

user profile icondanielf hat folgendes geschrieben Zum zitierten Posting springen:
Außerdem würde ich fürs zählen die Count-Methode verwenden:

C#-Quelltext
1:
dict.Values.Count( item => item == object );                    

Oh, die Überladung hatte ich übersehen, das ist dann natürlich besser. :-)


Joey86 - Do 24.06.10 20:22

Okay, danke Jungs!
Fehler war, dass ich nicht System.Linq, sondern System.Data.Linq hatte.