Donde está el union?

15/02/2005 - 05:07 por Jorge Eastman | Informe spam
Hola a todos...

Estoy aprendiendo a uttilizar el C# y estoy buscando el union por ciertas
necesidades, pero no lo veo ni dentro del código (se marca en rojo) ni en la
ayuda, cual es la alternativa al union en C#?.

Gracias a todos.

Un saludo

Jorge Eastman

Preguntas similare

Leer las respuestas

#6 Octavio Hernandez
18/02/2005 - 17:04 | Informe spam
Tienes toda la razón, Carlos! No me acordé de eso... Aunque en el fondo todo
lo que dijimos es cierto, es una construcción que se debe evitar y no es
algo puro-y-duro del lenguaje en sí, sino que requiere el uso de
atributos...

Slds - Octavio

"Carlos García-Carazo" escribió en el mensaje
news:
Pues parece ser que si que hay una forma de hacer Unions en C#.
Consiste en utilizar atributos [StructLayout] combinados con
[FieldOffset].
Sacado del newsgroup de c# en inglés encontramos el siguiente ejemplo
(expuesto por Chua Wen Ching):

en C

typedef union ChannelProtocol {
struct {
uint8 data2;
uint8 data1;
} b;
struct {
uint16 data12;
} w;
} CProtocol;

en C#
-
[StructLayout(LayoutKind.Explicit)]
public struct ChannelProtocol
{
[StructLayout(LayoutKind.Explicit)]
public struct Sb
{
[FieldOffset(0)]
public byte data2;
[FieldOffset(1)]
public byte data1;
}

[FieldOffset(0)]
public Sb _Sb;

[StructLayout(LayoutKind.Explicit)]
public struct Sw
{
[FieldOffset(0)]
public ushort data12;
}

[FieldOffset(0)]
public Sw _Sw;
}


"Jorge Eastman" escribió en el mensaje
news:
Hola a todos...

Estoy aprendiendo a uttilizar el C# y estoy buscando el union por ciertas
necesidades, pero no lo veo ni dentro del código (se marca en rojo) ni en
la
ayuda, cual es la alternativa al union en C#?.

Gracias a todos.

Un saludo

Jorge Eastman







Respuesta Responder a este mensaje
#7 Carlos García-Carazo
22/02/2005 - 18:18 | Informe spam
Ya, desde luego esto parece más el "truco del almendruco" que una característica
de lenguaje OO puro.

En cualquier caso me sorprende lo que se puede hacer con atributos y me gustaría
investigar más sobre ellos, pues me interesan todas las técnicas que tengan que ver
con optimizar la memoria o la potencia de procesamiento en C#.

Un saludo,
Carlos

"Octavio Hernandez" escribió en el mensaje news:

Tienes toda la razón, Carlos! No me acordé de eso... Aunque en el fondo todo
lo que dijimos es cierto, es una construcción que se debe evitar y no es
algo puro-y-duro del lenguaje en sí, sino que requiere el uso de
atributos...

Slds - Octavio
Respuesta Responder a este mensaje
#8 Octavio Hernandez
22/02/2005 - 20:18 | Informe spam
Carlos,

Mira este capítulo del libro de C# de Jesse Liberty, bastante conocido:

http://www.ondotnet.com/pub/a/dotne...harp_ch18/

Slds - Octavio

"Carlos García-Carazo" escribió en el mensaje
news:
Ya, desde luego esto parece más el "truco del almendruco" que una
característica
de lenguaje OO puro.

En cualquier caso me sorprende lo que se puede hacer con atributos y me
gustaría
investigar más sobre ellos, pues me interesan todas las técnicas que
tengan que ver
con optimizar la memoria o la potencia de procesamiento en C#.

Un saludo,
Carlos

"Octavio Hernandez" escribió en el mensaje
news:

Tienes toda la razón, Carlos! No me acordé de eso... Aunque en el fondo
todo
lo que dijimos es cierto, es una construcción que se debe evitar y no es
algo puro-y-duro del lenguaje en sí, sino que requiere el uso de
atributos...

Slds - Octavio





Respuesta Responder a este mensaje
#9 Carlos García-Carazo
24/02/2005 - 08:19 | Informe spam
Muchas gracias!
Ahora mismo lo estoy leyendo...

"Octavio Hernandez" escribió en el mensaje news:eKm0%
Carlos,

Mira este capítulo del libro de C# de Jesse Liberty, bastante conocido:

http://www.ondotnet.com/pub/a/dotne...harp_ch18/

Slds - Octavio

"Carlos García-Carazo" escribió en el mensaje
news:
> Ya, desde luego esto parece más el "truco del almendruco" que una
> característica
> de lenguaje OO puro.
>
> En cualquier caso me sorprende lo que se puede hacer con atributos y me
> gustaría
> investigar más sobre ellos, pues me interesan todas las técnicas que
> tengan que ver
> con optimizar la memoria o la potencia de procesamiento en C#.
>
> Un saludo,
> Carlos
>
> "Octavio Hernandez" escribió en el mensaje
> news:
>>
>> Tienes toda la razón, Carlos! No me acordé de eso... Aunque en el fondo
>> todo
>> lo que dijimos es cierto, es una construcción que se debe evitar y no es
>> algo puro-y-duro del lenguaje en sí, sino que requiere el uso de
>> atributos...
>>
>> Slds - Octavio
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida