Author Archives: Andreas
Tastenkürzel
Strg + K, Strg + C = Zeile auskommentieren Strg + K, Strg + U = auskommentierte Zeile wieder aktivieren Strg + K, Strg + D = Zeilen wieder richtig ausrichten Strg + M + L = kompletten Codeabschnitt reduzieren Strg + Umschalt. + L = Zeile löschen Strg + X = Zeile Ausschneiden
Backgroundworker
Wenn man aus einem Thread heraus eine Zeitaufwändige Operation durchführt, kann dies dazu führen, dass man den Eindruck bekommt, das Fenster wäre eingefroren. Der Grund ist ganz einfach, weil diese Aufgabe im ersten Thread stattfindet und solange dauert, bis es fertig ist. Jetzt stellt .Net den Threading Namespace zur Verfügung womit man für solche Aufgaben einen […]
Polymorphie
Unter Polymorphie versteht man, wenn eine Klasse von der anderen erbt. Dabei nimmt eine Klasse die Rolle der Elternklasse und die anderen, die einer Kindklasse an.
Eigene Mini Programmiersprache schaffen mithilfe von Regulären Ausdrücken
Filtert nur die Ausdrücke aus, die mit[ beginnen und mit ] enden. Match liefert nur den erstgefundenen Wert, MatchCollection dagegen alle gefundene.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
lblA.Text = ""; Regex regex = new Regex(@"\[\w+\]"); Match match = regex.Match(txtA.Text); if (match.Success) MessageBox.Show(match.Value); MatchCollection test2 = Regex.Matches(txtA.Text, @"\[\w+\]"); foreach (Match m in test2) { lblA.Text += m.Value + "\n"; match.NextMatch(); } //01;[FELD1];01/09/2014;;;[FELD2];*zgkjhg[FELD3]lhjklhlkjhlkjh[FELD4] |
Nun könnte man über ein switch/case eine Abfrage erstellen. Z.B. case FELD1: tue dies oder jenes Quellen: http://www.regexr.com/ – Online Editor http://www.mycsharp.de/wbb2/thread.php?threadid=41009 – Tutorial http://www.dotnetperls.com/regex-match – Tutorial
Strukturen – struct
Strukturen sind ähnlich wie Klassen, weisen im Gegensatz zu Ihnen aber folgende Unterschiede auf: Die Methoden/Konstruktoren haben keine Eigenschaftswerte und Namen Auf Strukturen kann deutlich schneller zugegriffen werden Strukturen sind Werttypen und keine Verweistypen Können nicht erben/vererben Können keine Konstruktoren ohne Parameter haben Kleines Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
private void simpleButton1_Click(object sender, EventArgs e) { Telefon x; x.Vorwahl = "0173"; x.Nummer = 62732624; Telefon y = new Telefon("012345",76513); label1.Text = x.ausgabe(); label1.Text += "\n" + y.ausgabe(); } struct Telefon { public string Vorwahl; public int Nummer; public Telefon(string v, int n) { Vorwahl = v; Nummer = n; } public string ausgabe() { return (Vorwahl + " - " + Nummer); } } |
Das Objekt x greift direkt […]
Binding Elementbinding
Möchte man eine Elementeigenschaft an die andere binden, muss man in die Quelleigenschaft gehen und ein {Binding … } einsetzen. Zuerst wird das Objekt, dann dessen Eigenschaft abgefragt. ElementName (welches Element?) Path(welche Eigenschaft?) Bei Path könnte auch etwas anderes stehen. SelectedIndex z.B. oder Items[0] für das erste Item in der ListBox
1 2 |
<TextBox Text="{Binding ElementName=lstMuster, Path=SelectedItem}"></TextBox> <ListBox x:Name="lstMuster"></ListBox> |
Das Visual Studio […]
Binding Allgemein
Unter Binding versteht man, eine Eigenschaft von dem Quellobjekt an eine Eigenschaft des Zielobjekts bindet. Dabei gibt es 2 Arten: Element an ein anderes Element / Element an Datenquelle z.B. Datenbank
Textdateien schreiben / lesen
Textdateien schreiben: Der erste Parameter gibt den Pfad der Textdatei an. Wird nur ein Dateiname angegeben, wird die Datei im selben Ordner erstellt, wo das Programm derzeit läuft. Der 2. Parameter gibt an, wenn es diese Datei schon gibt, ob er die dann überschreiben soll (true) oder neu erstellen soll (false)
1 2 3 4 |
using (StreamWriter ssw = new StreamWriter(@"\Textdatei.txt")) { ssw.Write("Hier steht mein Text"); } |
Eine Textdatei auslesen […]
Login