|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
[C#] come usare l'operazionee di casting
ciao a tutti,
sto iniziando a usare l'operazione di casting in c#. però forse non è ho ben capito come funziona. nell'esempio di sotto cerco di capire se posso convertire un int in string e mi dice che non è possibile cioè entra sempre nel blocco else. mi date due dritte per capire? grazie in anticip Quote:
|
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 56
|
L'operatore is controlla se il tipo di un oggetto è compatibile con un dato tipo.
Il casting esplicito da int a string non è definito, quindi quell'espressione sarà sempre falsa, indipendentemente dal valore di mioInt. Se vuoi ricavare una stringa da un intero usa: Codice:
string miastringa = mioInt.ToString(); |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
ok grazie mille capito questo punto.
e quando è che posso usare l'operatore is nel caso di casting? mi faresti in piccolo esempio per capire? grazie |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2010
Messaggi: 56
|
C'è un esempio nella pagina MSDN.
http://msdn.microsoft.com/en-us/library/scekt9xw.aspx |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Codice:
class BaseClass
{...}
class Derived1 : BaseClass
{}
class Derived2 : BaseClass
{}
void Cast(BaseClass bc)
{
if(bc is Derived1)
{...}
else if (bc is Derived2)
{...}
...
}
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 59
|
ok, ti ringrazio per l'uso dell' is.
mentre per fare il cast come faccio a capire se è un tipo di conversione fattibile oppure no? cioè posso sempre possibile fare un operazione di casting? |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
Il cast tra oggetti in C# lo puoi fare con il tradizionale cast alla C o con "as". Con il cast alla C ottieni una eccezione se il cast non è fattibile, con as ottieni un riferimento nullo. In generale devi convertire (usando la classe Convert per i tipi base). |
|
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Dec 2006
Messaggi: 650
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:30.




















