Você está na página 1de 2

Estructuras en C#, con ejemplos

Usted desea utilizar las estructuras para mejorar el rendimiento de su aplicación y la claridad
del código. Las estructuras tienen ventajas sobre las clases en algunas situaciones, pero
también desventajas, sobre todo en el lenguaje de programación C#. Aquí podemos ver varios
ejemplos de estructuras y puntos de referencia, utilizando el lenguaje C#.

Uso de las estructuras


En primer lugar, aquí podemos ver un programa sencillo de ejemplo que utiliza un tipo de
estructura en el lenguaje de programación C#. En este ejemplo se utiliza un proyecto de
consola (Console Application) para hacer la llamada a una simple estructura, que almacena
tres valores: dos números y un booleano.

/// <summary>
/// Las estructuras (Struct) son tipos por valor
/// Las clases (Class) son tipos por referencia
/// </summary>
class Program
{
static void Main(string[] args)
{
Simple s;
s.Posicion = 1;
s.Existe = false;
s.UltimoValor = 5.5;

//Fijese muy bien que es lo que sucede con los


atributos de la estructura
//Antes de llamar al método CambiaValoresStruct
CambiaValoresStruct(s);
Console.ReadKey();

static void CambiaValoresStruct (Simple s)


{
s.Posicion = 10;
s.Existe = true;
s.UltimoValor = 7.8;
}
}

/// <summary>
/// Definicion de la estructura
/// </summary>
struct Simple
{
public int Posicion;
public bool Existe;
public double UltimoValor;
};

Entender las estructuras

Las estructuras son tipos personalizados por valor que almacenan los valores de cada campo
juntos. No almacenan los datos de referencia (un puntero a la memoria), tales como la matriz
de caracteres en una cadena. ¿Qué dice MSDN que son las estructuras? "no requieren de un
montón de asignaciones." Se dice que las variables de tipo de estructura "directamente
contienen los datos de la estructura, mientras que una variable de un tipo de clase contiene
una referencia a los datos."

http://msdn.microsoft.com/en-us/library/aa288471(VS.71).aspx

En estricto rigor, estamos diciendo que las estructuras (structs) evitan la sobrecarga de
objetos en C#. Se pueden combinar varios campos, reduciendo la presión de la memoria y
mejora el rendimiento.

La recomendación es: usar las estructuras, cuando el diseño de la solución de software esté
completo y usted realizando una evaluación comparativa logra demostrar que las estructuras
son más beneficiosas que las clases.

Para mayores detalles, se recomienda visitar el capítulo 1 del libro .NET Framework 2.0
Application Development Foundation que se encuentra en el aula virtual del curso.

Juan José González Faúndez

Profesor DUOC UC

Programación II .NET (LDP3105)

j.gonzalez3@profesor.duoc.cl

Você também pode gostar