Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Vb.Net/C# - Select Case o If..ElseIF?

    Spesso mi sconsigliano di utilizzare il Select dicendo che è più lento e cose simili, è vero che l'If è più veloce del Select?
    Ovviamente a pari codice e considerando che non Nidifico gli IF cioè:

    codice:
    For Each stringhe As String in ArraydiStringhe()
    
    Next
    Considerando questo ciclo, è meglio scrivere:
    codice:
    Select stringhe
    Case Is = "Anno"
    'Funzione(bla bla)
    Case Is = "Mese"
    'Funzione(bla bla)
    Case Is = "Giorno"
    'Funzione(bla bla)
    Case Is = "Secolo"
    'Funzione(bla bla)
    Case Is = "Minuto"
    'Funzione(bla bla)
    Case Else
    'Funzione(bla bla)
    End Select
    oppure

    codice:
    If stringhe = "Anno" Then
    'Funzione(bla bla)
    ElseIF string = "Mese" Then
    'Funzione(bla bla)
    ElseIF string = "Giorno" Then
    'Funzione(bla bla)
    ElseIF string = "Secolo" Then
    'Funzione(bla bla)
    ElseIF string = "Minuto" Then
    'Funzione(bla bla)
    Else
    'Funzione(bla bla)
    End If
    Cioè in pratica vorrei sapere se è vero che è più lento (di molto) il Select del If e quindi, in caso, quando conviene utilizzarlo

  2. #2

  3. #3
    Quote Originariamente inviata da cassano Visualizza il messaggio
    Perfetto, quindi potrò continuare ad utilizzare l'if per piccole condizioni massimo 2 o 3 alternative ed il select per grandi alternative...
    Ultima cosa, quando uso il Select, devo mettere il Exit Select in caso c'è un "case" che soddisfa più di un "case"?

    Cioè tipo in php che si mette il break; alla fine di ogni caso

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    In vb.net no in c# si.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    6
    Questi problemi esistevano prima dell'arrivo del 486, poiché un ElseIf consuma più memoria (allora esistevano RAM sotto il MB). Dopo non è stato più un problema. Sicuramente la select è più leggibile (e quindi la manutenzione è più agevole).

  6. #6
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Come velocità sono praticamente uguali.
    Diciamo che se hai problemi di performance tra select e if, hai semplicemente sbagliato linguaggio.
    Select si usa quando hai un gruppo preciso ed omogeneo di scelte, rosso/blu/verde, "marco"/"piero"/"pippo", 10/20/30/40 (intesi come stati), If negli altri casi.
    Ma è solo un discorso di leggibilità del codice.

  7. #7
    Si ho capito che è una cosa abbastanza irrilevante, ho fatto questa domanda perchè in giro vedo usare sempre e solo IF e mai Select ed inoltre da qualche parte lessi che sono migliori le If quindi mi son voluto togliere qualche dubbio...
    Io ho sempre usato le select sui "molti elementi" invece se si tratta di poche eccezioni opto per l'if...

    Grazie per la dritta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.