Estructuras (Visual C# Express)
Actualización: noviembre 2007
Una estructura en C# es similar a una clase, pero las estructuras carecen de ciertas características, como la herencia. Además, como una estructura es un tipo de valor, normalmente se puede crear más rápido que una clase. Si utiliza bucles de pequeñas dimensiones en los que se crean grandes cantidades de estructuras de datos nuevas, debe considerar la posibilidad de utilizar una estructura en vez de una clase. Las estructuras también se utilizan para encapsular grupos de campos de datos como las coordenadas de un punto en una cuadrícula o las dimensiones de un rectángulo. Para obtener más información, vea Clases (Visual C# Express).
Ejemplo
Este programa de ejemplo define una struct para almacenar una ubicación geográfica. También reemplaza el método ToString() para generar un resultado más útil cuando se muestra en la instrucción WriteLine. Como no hay ningún método en la struct, no hay ventaja para definirlo como una clase.
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());
}
}
Resultado
El resultado de este ejemplo presenta el siguiente aspecto:
Position: Longitude: 123 degrees, Latitude: 47 degrees