Ho questo codice:

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 è 3");
                    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!