| 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 |