da this question, so che uno const string
può essere la concatenazione di const
cose. Ora, un enum è solo un insieme di numeri interi, non è vero? Allora, perché non è vero ok per fare questo:Come includere un valore enum in una stringa const?
const string blah = "blah " + MyEnum.Value1;
o questo:
const string bloh = "bloh " + (int)MyEnum.Value1;
E come si dovrebbe includere un valore di enumerazione in una stringa const?
Esempio di vita reale: quando si crea una query SQL, mi piacerebbe avere "where status <> " + StatusEnum.Discarded
.
Come ipotesi per il motivo: concatenare un intero può comportare problemi di dipendenze cultura. Il tuo 'int.ToString()' potrebbe non essere lo stesso del mio 'int.ToString()'. Forse. Solo una supposizione. In particolare, numeri negativi, forse. –
oh, giusto, non ho letto la domanda che ho collegato con molta attenzione. Quindi non si tratta solo di enumerazioni, in realtà è impossibile includere i costanti interi anche in una stringa const. – Zonko
sì; 'const string foo =" abc "+ 1;' fallisce identicamente –