Ciao a tutti ,
All'interno di una serie di cicli for annidati (4) devo fare una serie di controlli. Volevo sapere se è possibile ottimizzare il mio codice (anche stravolgendolo) oppure se risulta l0unica soluzione possibile.
In pratica l'applicazione calcola tutte le combinazioni possibili degli elementi di un insieme "obj" di dimensione variabile. Ma mi ci mette una vita. Dapprima pensavo dipendesse dal fatto che scrivevo ogni volta sul db, ora memorizzo in un datatable e le prestazioni sono decisamente migliorate.
For i1 As Byte = 0 To obj.Length - 6
If num(i1) > Num_1 Then
obj_1 = obj(i1)
For i2 As Byte = i1 + 1 To obj.Length - 5
If num(i2) > obj_2 Then
obj_2 = obj(i2)
For i3 As Byte = i2 + 1 To obj.Length - 4
If obj(i3) > obj_3 Then
obj_3 = obj(i3)
For i4 As Byte = i3 + 1 To obj.Length - 3
If obj(i4) > obj_4 Then
obj_4 = obj(i4)
If Controlli() = True Then
'Fai qualcosa
End if
If obj_4 = obj(obj.Length - 3) Then obj_4 = 0
End If
Next
If obj_3 = obj(obj.Length - 4) Then obj_3 = 0
End If
Next
If obj_2 = obj(obj.Length - 5) Then obj_2 = 0
End If
Next
If obj_1 = obj(obj.Length - 6) Then obj_1 = 0
End If
Next
Volevo sapere se esisteva un modo per migliorare la velocità di tale elaborazione oppure se mi devo accontentare così.
Ciao e grazie per le eventuali risposte!