Structures (Visual C# Express)
Mise à jour : novembre 2007
Un struct en C# est semblable à une classe, mais les structs manquent de certaines fonctionnalités, telles que l'héritage. De plus, puisqu'un struct est un type valeur, il peut être créé en général plus vite qu'une classe. Si vous avez des boucles serrées dans lesquelles les nouvelles structures de données sont créées en grand nombre, vous devez envisager d'utiliser un struct au lieu d'une classe. Les structs sont également utilisés pour encapsuler des groupes de champs de données tels que les coordonnées d'un point sur une grille, ou les dimensions d'un rectangle. Pour plus d'informations, consultez Classes (Visual C# Express).
Exemple
Cet exemple de programme définit une struct servant à stocker un emplacement géographique. Elle substitue également la méthode ToString(), afin de produire une sortie plus utile une fois affichée dans l'instruction WriteLine. Comme le struct ne comprend aucune méthode, il n'y a aucun intérêt à le définir comme une classe.
struct GeographicLocation
{
private double longitude;
private double latitude;
public GeographicLocation(double longitude, double latitude)
{
this.longitude = longitude;
this.latitude = latitude;
}
public override string ToString()
{
return System.String.Format("Longitude: {0} degrees, Latitude: {1} degrees", longitude, latitude);
}
}
class Program
{
static void Main()
{
GeographicLocation Seattle = new GeographicLocation(123, 47);
System.Console.WriteLine("Position: {0}", Seattle.ToString());
}
}
Sortie
Le résultat généré par cet exemple présente l'aspect suivant :
Position: Longitude: 123 degrees, Latitude: 47 degrees