static void Main(string[] args) { //VALUE TYPE int numeroIntero; // var pippo = 2; float numeroConLaVirgola32; double numeroConLaVirgola64; bool valoreLogico; char carattere; decimal valoreDecimale; //esempio int i = 10; int j = i; Console.WriteLine(i); Console.WriteLine(j); i = 5; Console.WriteLine(i); Console.WriteLine(j); // j non cambia poichè il suo valore è salvato nello stack // REFERENCE TYPE string insiemeCaratteri; //tende a mantenere una coerenza in spazi ristretti //esempio string stringa1 = "la mia casa è bella"; string stringa2 = stringa1; //console... stringa1 = "la mia casa è brutta"; //console... //fine object oggetto; Person luca = new Person("Luca", "Lippi"); luca.age = 18; //pubblic, quindi posso cambiare le var Console.WriteLine(luca.Anagrafica()); Person giovanni = luca; giovanni.name = "Giovanni"; //puntano alla stessa zona di memoria quindi cambiando il name, anche luca diventa "giovanni" Console.WriteLine(luca.Anagrafica()); Console.WriteLine(giovanni.Anagrafica()); luca.peso = 60; luca.altezza = 170; Console.WriteLine(luca.Anagrafica()); }
static void Main(string[] args) { // value Type int numeroIntero; float numeroVirgola32; double numeroVirgola64; bool valoreLogico; char carattere; decimal valoreDecimale128; int i = 10; int j = i; Console.WriteLine(i); Console.WriteLine(j); i = 5; Console.WriteLine(i); Console.WriteLine(j); // reference Type string insiemeCaratteri; string stringa1 = "la mia casa è bella"; string stringa2 = stringa1; Console.WriteLine(stringa1); Console.WriteLine(stringa2); stringa1 = "la mia casa è brutta"; Console.WriteLine(stringa1); Console.WriteLine(stringa2); object oggetto; //classe da cui ereditano tutti gli oggetti in c# Person luca = new Person("Luca", "Lippi"); //inizializzazione di un oggetto luca.eta = 18; Console.WriteLine(luca.Anagrafica()); Person giovanni = luca; //siccome giovanni e luca puntano alla stessa variabile di memoria se cambio gianni cambio anche luca giovanni.nome = "Giovanni"; Console.WriteLine(luca.Anagrafica()); Console.WriteLine(giovanni.Anagrafica()); Person gianni = new Person("Gianni", "Rossi", 170, 90); Console.WriteLine(gianni.Anagrafica()); }
static void Main(string[] args) { //Value Type memorizzati nello stack int pippo = 3; var pippo2 = 2; //char carattere = 'j'; //decimal valoreDecimale(); //valori monetari //Reference Type memorizzati nell'heap //string stringa; //string stringa2; //object oggetto; Person luca = new Person("Luca", "Lippi"); Person Giovanni = new Person("Luca", "Lippi"); //p.eta = 18; Console.WriteLine(luca.Anagrafica()); Giovanni = luca; Giovanni.name = "Giovanni"; //stringa = 'la mia casa è bella'; //stringa2 = stringa1; //Console.WriteLine(stringa); //Console.WriteLine(string2); }
static void Main(string[] args) { Person luca = new Person("Luca", "Lippi"); luca.eta = 18; Console.WriteLine(luca.Anagrafica()); Person giovanni = luca; giovanni.name = "Giovanni"; Console.WriteLine(luca.Anagrafica()); Console.WriteLine(giovanni.Anagrafica()); Person luigi = new Person("luigi", "bianchi", 180, 90); Console.WriteLine(luigi.calcBMI()); }
static void Main(string[] args) { //value Type (memorizzati nello stack)// int numeroInetero = 3; float numeroConValoreLogico32; double numeroConValoreLogico64; bool valoreLogico; char carattere; decimal valoreDecimale; //Molto preciso con i numeri dopo la virgola, utilizzato solitamente per valori monetari //reference Type (memorizzati nella heap)// string insiemeDiCaratteri; string stringa1 = "la mia casa è bella"; string stringa2 = stringa1; //Console.WriteLine(stringa1); //Console.WriteLine(stringa2); object oggetto; Person luca = new Person("Luca", "Lippi"); //p oggetto con modello la classe Person luca.age = 18; Console.WriteLine(luca.Anagrafica()); Person giovanni = luca; giovanni.name = "Giovanni"; Console.WriteLine(giovanni.Anagrafica()); Person andrea = new Person("Andrea", "Parodi", 170, 70); //Console.WriteLine(andrea.CalculateBMI()); Console.WriteLine(andrea.Anagrafica()); //////////////////////////////////////////////////////////////////////////////////////////////// ///Array //////////////////////////////////////////////////////////////////////////////////////////////// //Metodi equivalenti per creare un array int[] arrayDiInteri = new int[4]; int[] arrayDiInteri2 = new int[4] { 1, 2, 3, 4 }; //Ha un'informazione ridondante spazio 4 detto 2 volte int[] arrayDiInteri3 = new int[] { 1, 2, 3, 4 }; int[] arrayDiInteri4 = { 1, 2, 3, 4 }; Person p1 = new Person("Luca", "Filippi"); }
static void Main(string[] args) { // value type int intero; float razionale32; double razionale64; bool valoreLogico; char carattere; decimal valoreDecimale; // reference type string array oblject string insiemeDiCaratteri; string stringa1 = "la mia casa è bella"; string stringa2 = stringa1; Console.WriteLine(stringa1); Console.WriteLine(stringa2); stringa1 = "la mia casa è brutta"; Console.WriteLine(stringa1); Console.WriteLine(stringa2); object oggetto; Person luca = new Person("Luca", "Lippi", 1.80, 80); //ho ISTANZIATO un nuovo oggetto Person if (luca.altezza != 0 && luca.peso != 0) { Console.WriteLine("Il BMI di " + luca.Anagrafica() + " è " + luca.CalcoloBMI()); } else { Console.WriteLine("Il BMI è -1"); } }