C#에서 고정 바이트 또는 char [100]을 관리 char []로 변환하는 가장 좋은 방법은 무엇입니까? 나는 포인터 연산을 사용하는 것을 끝내었고 더 쉬운 방법이 있는지 궁금해했다. - memcpy 또는 다른 방법과 같은 것? using System;
using System.Collections.Generic;
using System.Linq;
나는 빠른 포인터를 사용하여 데이터의 블록을 XOR을 수행하는 코드를 가지고,하지만 난 어셈블리의 "안전하지 않은"요구 사항을 제거하고 싶습니다. 내가 변경하는 경우는 LayoutKind.Explicit을 사용하고 내가 포인터와 함께했던 같은 "ULONG []"는 "바이트 []"의 상단에, 나는 기본적으로하고있어 같은 일을 오버레이하지만, 그냥 위험한 것
중첩되지 않은 필드가 겹쳐진 것으로보고 된 구조체가 있습니다. [FieldOffset(8)]
Int32 X;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 16)]
[FieldOffset(12)]
string Y;
[FieldOffset(28)]
int Z;
보고 된 에러는 다음 유형 'XXX'을로드
"비 객체 필드"오류에 다음 코드와 잘못 정렬되거나 겹쳐졌습니다. public struct TypeA
{
public string A1;
public string A2;
}
public struct TypeB
{
public string B1,
public string B2;
}
나는 와 내가 문제가 구조체에