Enumeratore

di il
3 risposte

Enumeratore

Ciao a tutti stò studiando il linguaggio c sharp come primo linguaggio a scopo di passione non professione, ma mi sono inceppata su cosa è l'enumerazione.
O meglio su cosa sia bene o male l'ho capito ma non capisco quando il sito della microsoft dice una frae del genere:

"Per impostazione predefinita, il tipo sottostante di ogni elemento dell'enumerazione è int. È possibile specificare un altro tipo numerico integrale utilizzando i due punti, come mostrato nell'esempio precedente. Per un elenco completo dei tipi possibili, vedere enum (Riferimenti per C#)."

Adesso perdonatemi potrei spararla una bella c.... abbiate pietà di me.... ma se io dichiaro una stringa di valori esempio { lun - mart - merc ecc ecc } perchè enum è identificata dal tipo di dato int?
Tra l'altro sul sito parla anche di poter dichiarare un tipo di dato diverso del tipo byte o long tutti tipi di dati numerici insomma.

Ecco spero qualcuno mi chiarisca meglio il concetto ripeto sono una neofita abbiate pietà di me ed un giorno io avrò pietà di qualche altro/a.....

3 Risposte

  • Re: Enumeratore

    ma se io dichiaro una stringa di valori esempio { lun - mart - merc ecc ecc } perchè enum è identificata dal tipo di dato int?
    Perché quelle stringhe sono utilizzate solo all'interno del testo del tuo programma sorgente.
    Ma i valori presenti in memoria durante l'esecuzione del programma sono valori interi corrispondenti.

    Dato che un intero occupa una certa quantità di memoria, a volte non necessaria, è possibile indicare anche che il tipo di dato utilizzato per la memorizzazione sia un altro, come il byte, che occupa meno spazio.

    Se ancora non ti è chiaro, devi concentrarti sul fatto che le stringhe "Lun", "Mar" e così via *NON* sono memorizzate nella variabile che userai per l'enumerazione; al loro posto, *durante l'esecuzione*, nella variabile andrà il corrispondente valore numerico.
  • Re: Enumeratore

    Ok già và molto meglio, quindi quando dice il tipo sottostante è riferito al numerico depositato in memoria....
    quindi per far associare le stringhe di testo ai valori numerici l'enum converte lunedi in ad esempio 0 martedi in 1 ecc ecc?
  • Re: Enumeratore

    gattina92 ha scritto:


    Ok già và molto meglio, quindi quando dice il tipo sottostante è riferito al numerico depositato in memoria....
    quindi per far associare le stringhe di testo ai valori numerici l'enum converte lunedi in ad esempio 0 martedi in 1 ecc ecc?
    Sì, esatto.
Devi accedere o registrarti per scrivere nel forum
3 risposte