경고! 미안하지만, 나 영어가 안좋아! 구조체에 고정 된 배열을 사용 :.NET C# 안전하지 않거나 고정 된 CS1666 다른 배열의 요소에 대한 포인터 배열로 작업
[StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe struct union_reg
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
[FieldOffset(0)]
public fixed byte r[12];
[FieldOffset(0)]
public fixed UInt16 rp[6];
}
만들 시도하고 포인터의 배열을 통해 요소에 액세스 할 수 있습니다 :
나는 기능, 모든 벌금을 declarete, 그러나 나는 시도하는 경우를 declarete 경우union_reg reg = new union_reg();
byte*[] r = new byte*[9] { ®.r[rB], ®.r[rC], ®.r[rD], ®.r[rE], ®.r[rH], ®.r[rL], &rhl, ®.r[rA], ®.r[6] };
수업에서 CS1666 오류가 발생합니다. 문제를 해결하는 데 도움주세요!
const byte rB = 1;
const byte rC = 0;
const byte rD = 3;
const byte rE = 2;
const byte rH = 5;
const byte rL = 4;
const byte rA = 7;
const byte rF = 6;`
왜 그런 음모를 꾸미고 있습니까? –
빠른 algorythm을 만드십시오. 오래된 CPU를 에뮬레이트합니다. –
C#에서 물건을 빠르게 만들기 위해'unsafe'와'struct's를 사용할 필요가 없습니다. –