È da poco che in azienda siamo passati da VB.NET a C. Stavo cercando un modo per effettuare il cast fra due oggetti utilizzando un metodo equivalente alla funzione TryCast di VB.NET, in C# questa funzione non esiste quindi dopo aver googlato un po' ho trovato la soluzione al mio problema.
Ed eccovi i risultati ottenuti in sintesi
- Cast semplice:
1 String nunero = "10";
2 int valore = (int)numero;
3
- Cast con l'operatore "is"
1 autoSportiva myCar = new autoSportiva();
2 myCar.color = "red";
3 object obj = myCar;
4 autoSportiva newCar;
5 if (obj is autoSportiva)
6 {
7 newCar = (autoSportiva)obj;
8 }
9 else
10 {
11 Console.WriteLine("Attenzione: non è un'auto sportiva");
12 }
13
- Cast con l'operatore "as"
1 autoSportiva myCar = new autoSportiva();
2 myCar.color = "red";
3 object obj = myCar;
4 autoSportiva newCar;
5 newCar = obj as autoSportiva;
6 if (newCar != null)
7 {
8 // esegui operazioni su newCar
9 }
10 else
11 { Console.WriteLine("Attenzione: non è un'auto sportiva");
12 }
13
14