c# winforms, label abprüfen auf Anzahl der Ziffern mit einer if(label > 10 Ziffern)?

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.

FaTech  22.09.2023, 11:23

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

0
DenoProgramiert 
Beitragsersteller
 22.09.2023, 11:25
@FaTech

weis leider nicht was du meinst bin doch auch nur ein azubi

0
Charmin  22.09.2023, 11:41
@FaTech

Du hast hier recht, ist halt die Frage welche Anforderungen der User hier haben möchte.

1
DenoProgramiert 
Beitragsersteller
 22.09.2023, 11:26

ich habe leider keine konsolenapplication

0
Charmin  22.09.2023, 11:42
@DenoProgramiert

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.

0

if (label1.Length > 10) ...

Length gibt an, wie viele Zeichen ein String hat


DenoProgramiert 
Beitragsersteller
 22.09.2023, 11:08

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

0
FaTech  22.09.2023, 11:09
@DenoProgramiert

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

1