95 messaggi dal 20 maggio 2001
Ho questo codice:

using System;

namespace Wrox.Prova.LogicaCondizionale
{
    class SwitchNum
    {

        public static void Main()
        {
            int prova = 1;
            switch(prova)
            {
                case 1 :
                    Console.WriteLine("Il numero presente è 4");
                    break;
                case 2:
                    Console.WriteLine("Il numero presente è 2");
                    break;
                case 3:
                    Console.WriteLine("Il numero presente è 3");
                    break;
                default:
                    Console.WriteLine("Il numero presente non è compreso nell'intervallo");
                    break;
            }
        }
    }
    
}



In output mi dice sempre:

Il numero presente è 3

anche se la variabile prova contiene il valore 1!!!Dove sbaglio?

Poi, una spiegazione: sul libro che sto usando per studiare, c'è scritto:

"Attenzione, i valodi delle clausole case devono essere costanti, le variabili non sono ammesse"

Qualcuno mi spiegherebbe meglio cosa intende?Non ho ben capito!
95 messaggi dal 20 maggio 2001
Problema risolto, si può chiudere! :)
danyw3b <danyw3b> ha scritto:
Problema risolto, si può chiudere!

Potrebbe essere utile anche ad altri la soluzione... anche a me, perché non ho notato il problema nel tuo codice

Perché visualizza il case 3 se "prova" è uguale a 1?

Ciao

Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
95 messaggi dal 20 maggio 2001
Io pensavo che il numero dei case(case 1, case 2, ecc) fosse un numero progressivo, mentre è invece un valore di confronto! :)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC