2012-03-23 8 views
9

Quello che ho capito unboxing è quando prendo un oggetto e Unbox a valuetype come nell'esempio MSDN:Posso unbox una stringa?

int i = 123; 
object o = i; 
o = 123; 
i = (int)o; // unboxing 

Così ho appena stava pensando, posso essere una stringa Unboxed? Penso, No, non può perché non esiste il valore del valore che può rappresentare una stringa. Ho ragione?

+0

Possibile duplicato: http://stackoverflow.com/questions/6423452/boxing-and-unboxing-in-int-and-string –

+2

@Baboon Ho letto quella domanda prima di pubblicare il mio. Penso che la mia domanda fosse più attenta al fatto che una stringa non può essere disgiunta. L'altro è più generale nel mio punto di vista =) Grazie per aver mantenuto SO pulito comunque ;-) –

risposta

16

Hai ragione. Una stringa non può essere disgiunta perché solo i tipi di valore sono soggetti a boxing e unboxing; una stringa è un tipo di riferimento.

+0

Grazie! Sono stato confuso qualche giorno fa e ho iniziato a leggerlo, quindi era solo una domanda di controllo quindi l'ho preso ;-) Grazie! –

+0

Quindi una stringa non può essere racchiusa in questo esempio nella prima riga: http://johnbarshinger.wordpress.com/2008/07/02/c-boxing-and-unboxing-cast-as-convert-parse-tryparse/ –

+0

@ SimonEdström: No. Questo esempio è sbagliato. – Ryan

Problemi correlati