Advertisement
fcamuso

Const, enum e operatori bitwise - 2

Jan 26th, 2021
389
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.86 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Const_Enum
  4. {
  5.   class MyClass
  6.   {
  7.     public const double PiGreco = 3.14;
  8.     public static readonly string VersioneApp;
  9.     public static readonly bool SecurityFlag;
  10.  
  11.     static MyClass() { VersioneApp = "4.1"; SecurityFlag = true; }
  12.   }
  13.  
  14.   enum Giorno { Lun=1, Mar, Mer, Gio, Ven, Sab, Dom };
  15.  
  16.   [Flags]
  17.   enum Illuminazione  { Spento = 0, Giardino = 1,  Garage = Giardino << 1,
  18.                         Ingresso = Giardino << 2, Cucina = Giardino << 3,
  19.                         Sala = Giardino << 4, GiardinoGarage = Giardino | Garage
  20.   };
  21.  
  22.                              
  23.  
  24.   class Program
  25.   {
  26.     static void M1(Giorno g) { }
  27.  
  28.     static Giorno G(int giorno)
  29.     {
  30.       if (Enum.IsDefined(typeof(Giorno), giorno))
  31.         return (Giorno)giorno;
  32.       else
  33.         throw new InvalidCastException($"Il valore {giorno} non ha corrispondenze con la enum Giorno");
  34.     }
  35.  
  36.     static void Main(string[] args)
  37.     {
  38.       Giorno mioCompleanno2021 = Giorno.Sab;
  39.       Console.WriteLine(mioCompleanno2021);
  40.  
  41.       if (mioCompleanno2021 != Giorno.Dom)
  42.         Console.WriteLine("Quest'anno il tuo compleanno non si sovrapporrà con la Pasqua");
  43.  
  44.       int n = (int)Giorno.Gio;
  45.       Giorno g1 = (Giorno)6; //sab
  46.  
  47.       g1 = (Giorno)20;
  48.       Console.WriteLine(g1);
  49.  
  50.       //g1 = G(20);
  51.  
  52.       //come ottenere giardino, sala cucina: 0b_0001_1001
  53.       Illuminazione statoLuci = Illuminazione.Giardino | Illuminazione.Sala | Illuminazione.Cucina;
  54.       Console.WriteLine(statoLuci);
  55.  
  56.       Console.WriteLine(statoLuci & Illuminazione.Giardino);
  57.       Console.WriteLine(statoLuci & Illuminazione.Garage);
  58.  
  59.       statoLuci |= Illuminazione.Garage;
  60.       Console.WriteLine(statoLuci);
  61.  
  62.       //Console.WriteLine(MyClass.PiGreco);
  63.  
  64.       //MyClass obj = new MyClass();
  65.       //Console.WriteLine(obj.VERSIONE_APP);
  66.     }
  67.  
  68.   }
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement