System.Object | ||
Differenze tra Value e Reference Type |
In C# tutti i tipi, sono derivati dal tipo base System.Object. Il CLR richiede che l'origine ultima di ogni tipo, indipendentemente da quante volte sia stato derivato, sia il tipo System.Object. L'avere tutti i tipi derivati da un unico progenitore garantisce che ogni oggetto di ogni tipo offra un set minimo di caratteristiche comuni. In particolare la classe System.Object offre i seguenti metodi: Equals (public, virtual): Permette la
comparazione di due oggetti per stabilire se il loro valore è
uguale. L'esempio illustra come creare un tipo molto semplice e come sia possibile chiamare i metodi pubblici definiti in System.Object usando un'istanza di questo semplice tipo: // Permette riferimenti semplificati al namespace System using System; // Questo tipo è implicitamente derivato da System.Object class SimpleType { } // Questa "classe" esiste solo per ospitare la funzione entry point dell'applicazione class App { // Il metodo statico Main è l'entry point dell'applicazione public static void Main() { SimpleType st = new SimpleType(); Console.WriteLine("Equals object: " + st.Equals(new Object())); Console.WriteLine("GetHashCode: " + st.GetHashCode()); Console.WriteLine("ToString: " + st.ToString()); Console.WriteLine("GetType: " + st.GetType()); Console.WriteLine(); Console.Write("Press Enter to close window."); Console.Read(); } }
Fonti: Documentazione .NET Framework SDK |