Prüfen, ob ein string ist nicht gleich jeder der eine Liste von strings
Gibt es eine Möglichkeit, zu konvertieren einen code wie diesen:
If someString <> "02" And someString <> "03" And someString <> "06" And someString <> "07" Then
btnButton.Enabled = False
End If
irgendwie in etwas wie folgt aus (mehrere Werte für eine variable)
If someString <> "02", "03", "06", "07" Then
btnButton.Enabled = False
End If
- In C# könnten Sie
if (!(new [] {"02", "03", "06", "07"}).Contains(someString)) { ..
- aber ich spreche nicht VB.Net - Sind die verschiedenen strings in ein Array? @Blorgbeard Ja das ist was ich versucht habe zu bekommen.
If Not {"02", "03", "06", "07"}.Contains(someString) Then
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Würde
Contains
Arbeit?if Not testAgainst...
Array.Contains
sondern eine LINQ-ErweiterungIEnumerable(Of String)
. =)btnButton.Enabled = False
, dass es nicht eine enge Schleife =) In dem Fall der Konstruktion derHashSet
aus der Reihe, ist immer noch langsamer. In anderen Fällen aber, guter Punkt.Können Sie (ab -) Nutzung
Select
für diese in einfachen Fällen:Auch, eine gemeinsame Erweiterung, die ich benutze, ist:
Also:
_
s in VB 2010 und später.Wie über dieses?