c# winforms, label abprüfen auf Anzahl der Ziffern mit einer if(label > 10 Ziffern)?
Frage steht oben, ich möchte eine Prüfung starten ob mein Label mehr als 10 Ziffern beinhaltet. wenn ja soll xy passieren liebe grüße
2 Antworten
string labelText = meinLabel.Text;
if (Regex.Matches(labelText, @"\d").Count > 10)
{
Console.WriteLine("Mehr als 10 Ziffern gefunden!");
}
// In diesem Beispiel wird der Text aus meinLabel geholt und mit einem regulären Ausdruck geprüft, ob mehr als 10 Ziffern darin enthalten sind. Falls ja, wird eine Nachricht ausgegeben.
Das Beispiel mit Console.WriteLine war nur zur Veranschaulichung. In einem WinForms-Projekt würdest du wahrscheinlich eine andere Art von Benachrichtigung oder Aktion verwenden, z.B. eine MessageBox anzeigen oder den Text eines Labels ändern. Das Wichtige ist die Logik der Überprüfung, nicht die spezifische Aktion, die danach durchgeführt wird.
Wenn man Ziffer so genau nimmt, bin ich mir unsicher, ob nicht LINQ eine bessere Lösung wäre als RegEx. 🤔. Ich glaube, RegEx wäre zu viel Overhead und (habs nicht getestet) auch weniger performant. 🤔 Aber auch eine/zwei Schleifen wäre hier möglich, was glaube ich performanter als RegEx sein sollte. RegEx geht schnell, bin auch ein großer Fan, aber nicht immer die beste Lösung
weis leider nicht was du meinst bin doch auch nur ein azubi
if (label1.Length > 10) ...
Length gibt an, wie viele Zeichen ein String hat
funktioniert Leider nicht folgende Fehlermeldung: Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler CS1061 "Label" enthält keine Definition für "Length", und es konnte keine zugängliche Length-Erweiterungsmethode gefunden werden, die ein erstes Argument vom Typ "Label" akzeptiert (möglicherweise fehlt eine using-Direktive oder ein Assemblyverweis). WindowsFormsApp19 C:\Users\d.demir\OneDrive - engelmann.de\Desktop\Form1.cs 162 Aktiv
Sorry, mein Fehler. Das Label hat natürlich keine Länge, sondern nur der String dahinter. Du musst label1.Text.Length machen. Das Text Property hat den String des Labels
ich habe leider keine konsolenapplication