c#에서 Marshal.Copy () 방법의 사용
c#에서 Marshal.Copy 메서드 사용
Marshal.copy () 방법은 위탁 관리 대상 (그룹) 과 비 위탁 관리 대상 (IntPtr) 사이의 내용을 복제하는 데 사용됩니다
함수에는 다음과 같이 여러 개의 리셋이 있습니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 1차원 트랜잭션 8자리 무기호 정수 그룹의 데이터를 비트랜잭션 메모리 포인터로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 문자 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 더블 정밀도 부동 소수점 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 16비트 기호 정수 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 32비트 기호 정수 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 64비트 기호 정수 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
Copy(IntPtr,array[]()[],Int32,Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 8자리 무기호 정수 그룹으로 복사합니다.
Copy(IntPtr,array[]()[], Int32, Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 문자 배열로 복사합니다.
Copy(IntPtr,array[]()[],Int32,Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 더블 정밀도 부동 소수점 그룹으로 복사합니다.
Copy(IntPtr,array[]()[],Int32,Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 16비트 기호 정수 그룹으로 복사합니다.
Copy(IntPtr,array[]()[],Int32,Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 32비트 기호 정수 그룹으로 복사합니다.
Copy(IntPtr, array[]()[], Int32, Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 64비트 기호 정수 그룹으로 복사합니다.
Copy(IntPtr, array[]()[], Int32, Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 IntPtr 배열로 복사합니다.
Copy(IntPtr,array[]()[],Int32,Int32)는 데이터를 비 트랜잭션 메모리 포인터에서 트랜잭션 단일 정밀도 부동 소수점 그룹으로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 IntPtr 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
Copy(array[]()[], Int32, IntPtr, Int32)는 데이터를 1차원 트랜잭션 단일 정밀도 부동 소수점 그룹에서 비 트랜잭션 메모리 포인터로 복사합니다.
여기서 주의해야 할 것은 두 개의 매개 변수 Int32 유형의 사용이다
Int32 유형의 두 매개 변수는 모두 그룹을 한정하는 데 사용되며, 그 중 하나는 시작 위치를 한정하고 하나는 길이를 한정한다
주의: 길이는 지수 그룹 요소의 개수이지 바이트 수를 가리키는 것이 아닙니다
예:
고전적이에요. string name = "xuwei";
IntPtr pName = Marshal.AllocHGlobal(2*name.Length);
Marshal.Copy(name.ToCharArray(), 0, pName, name.Length);
char[] cName = new char[name.Length];
Marshal.Copy(pName, cName, 0, name.Length);
name.Length=5 (1) pName 포인터에 할당됨
2*name.Length 바이트의 공간
주의: Marshal.AllocHGlobal(Int32 cb)의 매개변수 cb는 할당된 바이트 수입니다.
(2)name에서 변환된char[]의 내용을 pName이 가리키는 메모리에 복사하여 char의 개수, 즉name.Length
(3) cName에 name을 할당합니다.Length 개 char 위치
(4) pName의 내용을 cName 배열에 복사합니다. 길이는name입니다.Length
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Access Request, Session and Application in Struts2
If we want to use request, Session and application in JSP, what should we do?
We can obtain Map type objects such as Req...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
Copy(array
Copy(array
Copy(array
Copy(array
Copy(array
Copy(IntPtr,array
Copy(IntPtr,array
Copy(IntPtr,array
Copy(IntPtr,array
Copy(IntPtr,array
Copy(IntPtr, array
Copy(IntPtr, array
Copy(IntPtr,array
Copy(array
Copy(array
여기서 주의해야 할 것은 두 개의 매개 변수 Int32 유형의 사용이다
Int32 유형의 두 매개 변수는 모두 그룹을 한정하는 데 사용되며, 그 중 하나는 시작 위치를 한정하고 하나는 길이를 한정한다
주의: 길이는 지수 그룹 요소의 개수이지 바이트 수를 가리키는 것이 아닙니다
예:
고전적이에요.
string name = "xuwei";
IntPtr pName = Marshal.AllocHGlobal(2*name.Length);
Marshal.Copy(name.ToCharArray(), 0, pName, name.Length);
char[] cName = new char[name.Length];
Marshal.Copy(pName, cName, 0, name.Length);
name.Length=5 (1) pName 포인터에 할당됨
2*name.Length 바이트의 공간
주의: Marshal.AllocHGlobal(Int32 cb)의 매개변수 cb는 할당된 바이트 수입니다.
(2)name에서 변환된char[]의 내용을 pName이 가리키는 메모리에 복사하여 char의 개수, 즉name.Length
(3) cName에 name을 할당합니다.Length 개 char 위치
(4) pName의 내용을 cName 배열에 복사합니다. 길이는name입니다.Length
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Access Request, Session and Application in Struts2If we want to use request, Session and application in JSP, what should we do? We can obtain Map type objects such as Req...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.