Ho avuto un problema oggi e non ero del tutto sicuro del motivo per cui non avrebbe funzionato.Tipo di oggetto di inoltro in C#
Il seguente esempio di codice si blocca:
static void Main(string[] args)
{
int i32 = 10;
object obj = i32;
long i64 = (long)obj;
}
Questo si tradurrà in un InvalidCastException. Perché non funziona? C# non è abbastanza intelligente da sapere che l'oggetto è in realtà di tipo int?
Ho già trovato una soluzione alternativa, ma sono curioso sul motivo per cui l'esempio di codice precedente non ha funzionato in primo luogo.
Grazie, Tim
Ho notato che questo è un duplicato di molte domande precedenti, incluso più recentemente http://stackoverflow.com/questions/3911293 –