ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
931
931
EMPFEHLEN
-
Sers Comunity,
Also es geht darum, dass ich einen Weg suche mit einem Vergleichsoperator auf mehrere Variablen abzufragen.
Kleines Beispiel:
Code :1 2 3 4
string a,b,c; if(TextBox.Text == a | b | c) { }
So dass er den Text in der TextBox auf a, b und c vergleicht.
ps. Ich weiß natürlich, dass man das auch mit nem switch oder wie man des halt sonst macht mit:
.Code :1 2 3 4
string a,b,c; if(TextBox.Text == a | TextBox.Text == b | TextBox.Text == c) { }
Mir geht es aber besonders darum eine verkürzte Schreibweise zu haben.
Danke schon mal im Vorraus.
Nico
-
Eigentlich relativ simpel.
Man erstelle sich einfach eine vergleichen Methode mithilfe von params.
Hier mal ein voll funktionsfähiges Consolenbeispielprogramm mit Kommentierung (Just eben geschrieben)
Code :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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //Teststrings string s1 = "a", s2 = "a", s3 = "a", s4 = "a", s5 = "b"; //Wird True schreiben, da alle 3 strings (s2 bis s4) mit s1 übereinstimmen Console.WriteLine(vergleiche(s1, s2, s3, s4)); //Wird False zurückgeben, da der letzte 4. string s5 nicht mit s1 übereinstimmt. Console.WriteLine(vergleiche(s1, s2, s3, s4, s5)); //Auf Tastendruck warten Console.ReadKey(true); } /// <summary> /// Vergleicht den ersten string mit den restlichen strings und gibt true zurück, falls alle mit dem Hauptstring übereinstimmen. /// </summary> /// <param name="Hauptstring">Der Hauptstring</param> /// <param name="Vergleichsstrings">Strings die mit dem Hauptstring verglichen werden sollen.</param> /// <returns>Ergebnis</returns> static bool vergleiche(string Hauptstring, params string[] Vergleichsstrings) { //Gehe alle übergeben Parameter durch und vergleiche mit Hauptstring //Wenn einer nicht mit dem Hauptstring übereinstimmt kann bewusst false zurückgegeben werden. foreach (string s in Vergleichsstrings) { if (s != Hauptstring) return false; } return true; } } }
Der Methode vergleiche übergibst du einfach einen Hauptstring (in deinem Falle die TextBox.Text Eigenschaft) und die restlichen strings mit der der TextBox.Text-String verglichen werden soll.
Hoffe es ist dir so recht.
Die Methode lässt sich denke ich einfach verstehen und auhc simpel in einen Ifsatz ein bauen.
Code :1 2 3 4
string a,b,c; if(vergleiche(TextBox.Text,a,b,c)) { }
//EDIT
Alternativ kannst du auch eine Extension verwenden.
Das sehe dann so aus:
Code :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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //Teststrings string s1 = "a", s2 = "a", s3 = "a", s4 = "a", s5 = "b"; //Wird True schreiben, da alle 3 strings (s2 bis s4) mit s1 übereinstimmen Console.WriteLine(s1.vergleiche(s2, s3, s4)); //Wird False zurückgeben, da der letzte 4. string s5 nicht mit s1 übereinstimmt. Console.WriteLine(s1.vergleiche(s2, s3, s4, s5)); Console.WriteLine(); //Auf Tastendruck warten Console.ReadKey(true); } static class Extension { public static bool vergleiche(this string instans, params string[] Vergleichswerte) { //Gehe alle übergeben Parameter durch und vergleiche mit Hauptstring //Wenn einer nicht mit dem Hauptstring übereinstimmt kann bewusst false zurückgegeben werden. foreach (string s in Vergleichswerte) { if (s != instans) return false; } return true; } } }
in deinem Beispiel:
Code :1 2 3 4
string a,b,c; if(TextBox.Text.vergleiche(a,b,c)) { }
Fertig. Kurze Schreibweise
Gruß Drache2.Geändert von Drache2 (23.08.10 um 20:13 Uhr) Grund: Um Extensionmöglichkeit erweitert
;::::;
Ähnliche Themen
-
Mehrere Abfragen in einem Bericht? MS Access 2003
Von fonds im Forum Office-AnwendungenAntworten: 4Letzter Beitrag: 05.09.08, 10:17 -
mehrere mySQL-Abfragen in einem String
Von Dac-XP im Forum PHPAntworten: 4Letzter Beitrag: 05.11.07, 18:53 -
Mehrere Count-Abfragen mit einem Query
Von casa74 im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 05.03.07, 08:22 -
Mehrere Variablen in EINEM Parameter mitgeben
Von aquarius im Forum PHPAntworten: 1Letzter Beitrag: 18.12.04, 19:23 -
Mehrere Abfragen zu einem Array?
Von dennis2412 im Forum PHPAntworten: 8Letzter Beitrag: 22.11.03, 09:31





Zitieren
Login




