Advertisement
fcamuso

conversioni con cast e as

Dec 20th, 2020
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.44 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Conversioni
  4. {
  5.   class Figura
  6.   {
  7.     public virtual void Disegna() { }
  8.   }
  9.  
  10.   class Quadrato : Figura
  11.   {
  12.     public override void Disegna()
  13.     {
  14.       Console.WriteLine("Disegna Quadrato");
  15.     }
  16.   }
  17.  
  18.   class Cerchio : Figura
  19.   {
  20.     public double Raggio { get; set; } = 0;
  21.     public override void Disegna()
  22.     {
  23.       Console.WriteLine("Disegna Cerchio");
  24.     }
  25.  
  26.     public double crf() => 2 * Math.PI * Raggio;
  27.   }
  28.  
  29.  
  30.   class Program
  31.   {
  32.     static void Main(string[] args)
  33.     {
  34.      
  35.       //CONVERSIONI IMPLICITE
  36.       int n = 39888;
  37.       double x = n; //conversione sicura, automatica = implicita
  38.  
  39.       Quadrato q = new Quadrato();
  40.       Figura f = q;
  41.  
  42.  
  43.       //CONVERSIONI ESPLICITE (CAST)
  44.       x = 3000000000.14;      
  45.       checked
  46.       {
  47.         //n = (int)x;
  48.       }
  49.  
  50.       string s = "";
  51.       //n = (int)s;
  52.       //n=Convert.ToInt32(s);
  53.  
  54.  
  55.       //Console.WriteLine(x);
  56.       //Console.WriteLine(n);
  57.       //Console.WriteLine(f);
  58.  
  59.       f = new Cerchio();
  60.       //q = (Quadrato)f;            
  61.       //q = f as Quadrato;
  62.  
  63.       if (f is Quadrato q2)
  64.         { Console.WriteLine(q2); }
  65.       else
  66.         { Console.WriteLine("Conversione impossibile"); }
  67.  
  68.       Quadrato q3 = null; ;
  69.       if (f is Quadrato)
  70.       { q3 = (Quadrato)f; }
  71.       else
  72.       { Console.WriteLine("Conversione impossibile"); }
  73.       //Console.WriteLine(q == null);
  74.  
  75.  
  76.     }
  77.   }
  78. }
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement