memorizzando il valore di un singolo carattere usa string o int C # [chiuso]

0

Durante la memorizzazione di un singolo valore di carattere per lo scopo di status, gender, delete_flag ecc. che è meglio data type string o int. Supponi ::

status = A/I or status = 1/0
gender = M/F or gender = 1/0
delete_flag = Y/N or delete_flag = 1/0

In tali scenari in cui è possibile utilizzare string o int, che è l'opzione migliore come per l'ottimizzazione del codice.

    
posta user4221591 10.10.2015 - 06:56
fonte

1 risposta

4

Molte lingue supportano un tipo di enumerazione supportato da un intero ma con nomi con scope amichevoli nella lingua corretta.

C #, come molti altri, chiamano il loro enum . Ogni volta che lo usi, assicurati di lavorare solo con il valore numerico al limite del tuo codice, se non lo fai, e di stare attento a non cambiare l'ordine o il valore degli enumerandi se hai dati persistenti rappresentati con l'enum. / p>

Anche se il tuo valore è vero: y o sì-no: y, considera comunque una piccola enumerazione per chiarezza nelle firme delle funzioni, in particolare se non è chiaro quali significati siano mappati su vero e falso. Lo stesso vale per assegnare significato ai valori numerici.

A nessuno piace vedere f(true, 0, 0, null, false, false, 3) , nemmeno con la funzionalità IDE che rivela la firma al passaggio del mouse o la pressione del pulsante.

Per quanto riguarda le prestazioni, non vedrai alcuna differenza tra un char e un intero. Le stringhe incorreranno in qualsiasi (non) penalizzazione dei riferimenti e qualunque sia il costo per produrre una stringa letterale conosciuta.

Probabilmente sarà trascurabile, ottimizzerà invece la leggibilità e l'intolleranza ai bug.

Se la tua domanda riguarda effettivamente i database, considera una chiave esterna in una tabella separata, in questo modo puoi assicurarti che solo i valori validi finiscano nella colonna ed è ragionevolmente estensibile.

MSDN su enum

    
risposta data 10.10.2015 - 09:00
fonte

Leggi altre domande sui tag