provare il seguente codiceImpossibile (o abilitato) alla lista <int>. Più veloce <Enum>()?
public enum Color
{
Blue=1,
Red=2,
Green=3
}
public List<Color> ConvertColorEnum()
{
var intColor = new List<int>(){1,2,3};
return intColor.Cast<Color>().ToList();
}
Pensi che il ConvertColorEnum()
restituirà un elenco di colore, vale a dire, List<Color>(){Color.Blue, Color.Red, Color.Green}
?
L'ho provato su 2 macchine, una con .net 3.5 (versione mscorlib 2.0.50727.1433), un'altra con .net 3.5 SP1 (versione mscorlib 2.0.50727.3082). I risultati sono stati diversi: il .net 3.5 ha gettato un InvalidCastException
perché non è possibile convertire il numero intero in enum, mentre .net 3.5 SP1 potrebbe essere eseguito correttamente, con risultati corretti restituiti.
Chiunque vorrebbe provare questo sulla sua macchina e segnalare il risultato o spiegare perché è così?
@marc, sto per dire grats sul 50K ma il tuo dolorosamente vicino a 49.999;) –
Vexing, non è vero? –
Buona idea, ma non pensi che intColor.Cast() sia più sintetico e leggibile? –
Graviton