foreach(string wort in zaehler.Keys)
{
Console.WriteLine("{0} {1}", wort, zaehler[wort].Anzahl);
}
wort sollte klar sein. Mit zaehler[wort] kriegst du aus dem Dictionary ein WortElement-Objekt zurück, woraufhin du auf die Eigenschaft Anzahl aus der Klasse zugreifen kannst.
Servus,
du hast bestimmt google mit dem Falschen gefüttert. Davon gehe ich jetzt mal aus
google: visual studio 2010 express class diagram
Erster Link: http://stackoverflow.com/questions/1661685/visual-studio-express-free-class-diagram-tool
Viele Antworten
gruß
Hellsgore
Merk gerade das ich die Aufgabenstellung falsch verstand, ich dachte es geht nur darum die Worte zu zählen und doppelte weg zu lassen, aber das war ja nicht gefragt ^^
@Oli_1977
Dein letzter Code hat mehrere Probleme:
1. i ist nur im schleifen scope
2. zaehler[wort] = 0; wird knallen weil der Eintrag noch nicht vorhanden ist, du musst ihn noch hinzufügen
3. Wenn es ein Wort nur einmal gibt steht als Value 0, aber 0x stimmt doch nicht, es muss doch 1 sein
4. +1 kannst du immer sagen, ob es nach ersten add war oder bei allen weiteren (Siehe meine Lösung)
[5. Verwende lieber using for den stream reader]
[6. Definiere eine Variable erst kurz vor der verwendung (line)]
[7. Teile den Code weiter auf, das erhöht die Sauberkeit, ergibt ein besseres Gesamtbild und fördert wie wiederverwendbarkeit. Einfacher zu maintainen ist es dann ebenso]
(5, 6 und 7 sind nur zwecks Sauberkeit und Übersicht)
Hier meine Lösung:
static void Main(string[] args)
{
var text = ReadText("d:\\heinemann\\Kurzgeschichte.txt");
var results = CountWords(text);
foreach (var result in results)
Console.WriteLine("Wort: {0} = {1}x", result.Key, result.Value);
Console.ReadLine();
}
private static string ReadText(string filePath)
{
string text = "";
using (var reader = new StreamReader(filePath))
text = reader.ReadToEnd();
return text;
}
private static Dictionary<string, int> CountWords(string text)
{
var countedWords = new Dictionary<string, int>();
var matches = Regex.Matches(text, @"\w+"); // fals Regex nicht erlaubt ist kannst du hier auch dein Split verwenden
foreach (Match match in matches)
{
var word = match.Value;
if (!countedWords.ContainsKey(word))
countedWords.Add(word, 0);
++countedWords[word];
}
return countedWords;
}
Ok
sorry bin via google hier her gekommen und fand die frage die mich auch beschäftigte und da war ich über einige antworten entäuscht.
wobei man nun dank link auch verstehen kann wieso.
sorry nix für ungut.
aber füttert ihn nicht mehr weiter
einen schönen abend noch
Klar weiss ich was Trotz ist.
Es ist halt für aussenstehende trotzdem schwer begraifbar, wenn dabei etwas so offensichtlich widersprüchliches rauskommt.
Auch wenn sie selbst manchmal genau so reagieren.
Erdrückende Beweisführung
Und ich dachte meine Events wären was tolles, da hab ich natürlich voll vergessen das ich die Entfernen muss. Ich Dösbattel.
Dann ist deine Lösung natürlich besser. Klare Sache.
Du und dein var. Das kriegen wir vermutlich nich mehr raus wa ;):p
Er kann sich auch ne Klasse MyField erstellen, der er das Ereignis gibt.
Das Spielbrett besteht dann eben aus x-MyField Objekten.
Bei Klick auf das Spielbrett errechnet er die Position und ermittelt das MyField Objekt das ausgewählt wurde. Anschließend kann das MyField Objekt ja das Event werfen.
/rant/ schrieb:
Aber am Ende des Tages ist wohl C# die einzige Sprache, womit ein hoch dynamisches System noch überhaupt sinnvoll realisierbar ist.
Öh. Wenn das die einzige Anforderung ist, dann geht erstmal viel.
Java, Python, C++ + Lua, C++ + LLVM, ...
Na das sieht sehr gut aus. Warum komm ich nicht selber auf soetwas ?
public static readonly DependencyProperty DGSelectedXmlNodeProperty = DependencyProperty.Register("DGSelectedXmlNode", typeof(XmlNode), typeof(FragenEditor));
private void dataGridView1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (dataGridView1.CurrentItem is XmlNode)
{
DGSelectedXmlNode = dataGridView1.CurrentItem as XmlNode;
}
}
private void FachSchwi_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
{
//Bei Änderung der Auswahl von Fachbereich o. Schwierigkeit
//diese auch durch DGSelectedXmlNode ändern
//Tag 0 = FachbereichComboBox
//Tag 1 = SchwierigkeitComboBox
if ((String)((ComboBox)sender).SelectedItem != DGSelectedXmlNode.ChildNodes[Convert.ToInt16(((FrameworkElement)sender).Tag)].InnerText) DGSelectedXmlNode.ChildNodes[Convert.ToInt16(((FrameworkElement)sender).Tag)].InnerText = (String)(((ComboBox)sender).SelectedItem);
}
Ich habe das Ziel erreicht.
Wieder wat gelernt DRAVERE. THANX
Meine Frage hatte ich EINDEUTIG formuliert, nämlich "Fritzbox: Internet-IP ermitteln". Die Postings von Dravere, theta und cooky451 verfehlen dieses Thema und dienen wohl eher dem Zweck, die Anzahl ihrer nutzlosen Beiträge zu erhöhen!!!
Mein Dank geht an geeky für den uPnP-Tip und ganz besonders an den Poster des Codes Dirk Schmidt (http://schmidt-webdesign.net)!!! Das Beispielprogramm, daß ich noch nicht ganz verstehe, funktioniert tadellos und macht genau das was Volkard so treffend schrieb: "Natürlich ist der direkte Weg, die Fritzbox zu befragen, irgendwie erstrebenswert". Vielleicht bekomme ich es mit diesem Beispiel auch hin, die Fritzbox zu einer Zwangstrennung zu überreden.
VIELEN DANK AN DIESES FORUM!!!!
winformer schrieb:
hab gerade
http://msdn.microsoft.com/de-de/library/system.windows.documents.typography.variants(v=vs.90).aspx
gefunen, aber das ist bloß son xaml zeugs, kann ich wohl nicht in forms verwenden
Nein, kannst du nicht. Und ich würde es nicht mal in WPF verwenden
Am einfachsten nimmst du dazu Unicode. Zum Beispiel ist U+2081 eine 1 tiefgestellt. Siehe: A₁ (wenn du meinen Beitrag zitierst, siehst du, dass ich nicht [t] verwendet habe ;))
Grüssli
Am besten mal über die MSDN suchen gehen (Stichwörter: Drag Drop Image):
http://social.msdn.microsoft.com/search/en-US?query=
Ich habe dies nur einmal gemacht, aber das war damals in Java. Dort habe ich den Cursor verändert. Was man beim Drag & Drop in WinForms über die entsprechenden Events mit der statischen Property Cursor.Current sicherlich auch implementieren könnte.
Grüssli