2017-01-13 18 views
0

に変換する方法がわかりません。 c++に小さなコードセクションがあり、C#に同じコードが必要です。あなたはこれがc#で行うにはどうすればよいバイト配列のC++構造体をc#

struct Texel { unsigned char r, g, b, a; }; 
Texel mytexturedata[] = 
{ 
    {0x00, 0xFF, 0x00, 0xFF}, // green 
    {0xFF, 0xFF, 0x00, 0xFF}, // yellow 
    {0xFF, 0x00, 0x00, 0xFF}, // red 
}; 

:ここc++コードはありますか?

ありがとうございます!

+0

'テクセル[] mytexturedata = {新しいテクセル(){R = 0x00で、G = 0xFFで、B = 0x00で、A = 0xFFを}、...};' 'クラステクセル{バイトrの変化に{get; set;}} {{get; set;}} '{get;ところで、 'unsigned char'はC#の' byte'に対応し、 'char'は16ビット幅(UTF-16)です。 –

+0

私は、バイトはC#のunsigned charよりも良い型だと思います。 。 。 –

答えて

3

構造体をクラスに変換します。

public class Texel 
{ 
    public byte r { get; set; } 
    public byte g { get; set; } 
    public byte b { get; set; } 
    public byte a { get; set; } 
} 

次に、このような割り当てを行うことができます。

Texel[] mytexturedata = 
{ 
    new Texel() { r = 0x00, g = 0xFF, b = 0x00, a = 0xFF }, // Green 
    new Texel() { r = 0xFF, g = 0xFF, b = 0x00, a = 0xFF }, // Yellow 
    new Texel() { r = 0xFF, g = 0x00, b = 0x00, a = 0xFF } // Red 
}; 
+0

ありがとう! – Tom

関連する問題