uso di Enum con le bandiere in pratica?

0

Ho appena letto alcune cose su enum oggi. L'uso delle bandiere con enum era qualcosa di interessante e nuovo per me. Ma spesso la pratica e gli usi teorici sono diversi. Vado attraverso molti articoli che gli esempi citati erano buoni per ottenere il concetto ma mi chiedo ancora in quali situazioni si può usare Enums con flag per memorizzare più valori?

Apprezzerà molto se tu possa condividere la tua esperienza pratica dell'uso di enum con le bandiere.

    
posta user576510 27.06.2013 - 13:41
fonte

1 risposta

4

In C #, l'esempio che mi viene in mente è l'accesso a una directory di file. System.IO.FileAttributes è un'enumerazione di flag di ogni attributo che può avere un file. Ha più senso contenere tutte queste informazioni in un posto, quindi avere un sacco di proprietà che devono essere impostate.

File.SetAttributes(file, FileAttributes.ReadOnly | FileAttributes.System);

Questo è molto più conciso del codice che avrebbe impostato individualmente ciascun campo booleano sugli attributi del file. Poiché ogni valore di flag è valido in qualsiasi combinazione (tranne Normal, che è valida solo da solo), la combinazione di questi funziona. Ora, se i file potessero avere solo due valori diversi con regole complesse che governano le combinazioni, allora renderei FileAttributes una struttura che potrebbe fare la logica necessaria per risolvere quei requisiti.

    
risposta data 27.06.2013 - 14:04
fonte

Leggi altre domande sui tag