15/02/2025 - psx2 ha scritto:
ma mi sembra un obrobio !!!!
Ciao... ;-) prova a studiare una soluzione con il Dictionary e Contain...
ESEMPIO:
' Set operators dictionary
Dim dicOperators As New Dictionary(Of String, Func(Of Integer, Integer, Boolean)) From {
{"<", Function(a, b) a < b}, {">", Function(a, b) a > b}, {"<>", Function(a, b) a <> b},
{"=", Function(a, b) a = b}, {"<=", Function(a, b) a <= b}, {">=", Function(a, b) a >= b}}
' Check boolean result
If dicOperators.ContainsKey(combi1.Text) AndAlso dicOperators(combi1.Text)(CInt(NumeroDaVerfiicare), CInt(text1.Text)) Then
' True
Else
' False
End If
.
Nota: se vuoi il Dictionary puoi definirlo a livello di classe in modo tale che il metodo non lo ricrea in continuazione
' Set operators dictionary
Private dicOperators As New Dictionary(Of String, Func(Of Integer, Integer, Boolean)) From {
{"<", Function(a, b) a < b}, {">", Function(a, b) a > b}, {"<>", Function(a, b) a <> b},
{"=", Function(a, b) a = b}, {"<=", Function(a, b) a <= b}, {">=", Function(a, b) a >= b}}
In questo modo viene definito e caricato una sola volta e nel metodo inserirai solo la tua If:
' Check boolean result
If dicOperators.ContainsKey(combi1.Text) AndAlso dicOperators(combi1.Text)(CInt(NumeroDaVerfiicare), CInt(text1.Text)) Then
' True
Else
' False
End If
Vedere :
https://learn.microsoft.com/it-it/dotnet/api/system.collections.generic.dictionary-2?view=net-9.0
https://learn.microsoft.com/it-it/dotnet/api/system.collections.generic.dictionary-2.containskey?view=net-9.0