워드 버퍼의 의미는 메모리에 직접적으로 작용하는 것인데, 관리되지 않고 바이트 배열 형태로 표현된 메모리를 조작하는 과정을 C#에서는 버퍼링이라고 합니다. 그리고 C#의 버퍼 클래스 멤버는 주어진 위치에서 시작하는 한 배열의 바이트를 주어진 위치에서 시작하는 다른 배열로 복사하는 BlockCopy()이고, 배열의 총 바이트 수를 얻을 수 있는 ByteLength()입니다. , 주어진 위치의 바이트를 얻을 수 있는 GetByte() 및 배열의 주어진 위치에 바이트를 설정할 수 있는 SetByte()가 있습니다.
구문:
Buffer.Buffer_member_name(parameters);
여기서 Buffer_member_name은 버퍼 클래스 멤버의 이름이고
매개변수는 전달되는 매개변수입니다.
Buffer 클래스에는 4개의 멤버가 있습니다. 그들은:
BlockCopy()는 주어진 위치에서 시작하는 한 배열의 바이트를 주어진 위치에서 시작하는 다른 배열로 복사하는 버퍼 멤버입니다.
ByteLength()는 배열의 총 바이트 수를 얻을 수 있는 Buffer 멤버입니다.
아래는 예시입니다.
지정된 위치에서 시작하는 한 배열의 바이트를 지정된 위치에서 시작하는 다른 배열로 복사하는 ByteCopy() 클래스의 Buffer 멤버와 ByteLength() 멤버를 보여주는 C# 프로그램:
코드:
using System; //a class called program is defined public class program { //main method is called public static void Main(string[] args) { //an integer array is defined to store 4 integers int[] strarray1 = new int[4] { 100, 200, 300, 400 }; //another integer array is defined to store 7 integers int[] strarray2 = new int[7] { 0,0,0,0,500,600,700 }; Console.Write("The contents of the string array one before performing the Block operation is:\n"); //Bytelength() member of buffer class is used to find the bytelength of th given array Console.Write("The name of the array is strarray1 and the byte length of the array is :{0}\n", Buffer.ByteLength(strarray1)); for (int j = 0; j < strarray1.Length; j++) { Console.Write(strarray1[j]); Console.Write("\n"); } Console.Write("The contents of the string array two before performing the Block copy operation is:\n"); Console.Write("The name of the array is strarray2 and the byte length of the array is :{0}\n", Buffer.ByteLength(strarray2)); for (int a = 0; a < strarray2.Length; a++) { Console.Write(strarray2[a]); Console.Write("\n"); } //Blockcopy() member of buffer class is used to copy the contents of one array starting from the location specified by the second parameter to another array starting from the location specified by fourth parameter and last parameter signifies the bytelength of the first array Buffer.BlockCopy(strarray1, 0, strarray2, 0,Buffer.ByteLength(strarray1)); Console.Write("The contents of the string array one after performing the block copy operation is:\n"); Console.Write("The name of the array is strarray1 and the contents are :\n"); for (int b = 0; b < strarray1.Length; b++) { Console.Write(strarray1[b]); Console.Write("\n"); } Console.Write("The contents of the string array two after performing the block copy operation is:\n"); Console.Write("The name of the array is strarray2 and the contents are :\n"); for (int d = 0; d < strarray2.Length; d++) { Console.Write(strarray2[d]); Console.Write("\n"); } } }
출력:
설명: 위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 정수를 저장하기 위해 서로 다른 크기의 두 정수 배열이 정의되는 기본 메서드가 호출됩니다. 첫 번째 배열의 내용이 표시되고 첫 번째 배열의 바이트 길이는 Buffer 클래스의 ByteLength 멤버를 사용하여 표시됩니다. 그런 다음 두 번째 배열의 내용이 표시되고 두 번째 배열의 바이트 길이는 Buffer 클래스의 ByteLength 멤버를 사용하여 표시됩니다. 그런 다음 버퍼 클래스의 Blockcopy() 멤버를 사용하여 두 번째 매개변수로 지정된 위치에서 시작하는 한 배열의 내용을 네 번째 매개변수로 지정된 위치에서 시작하는 다른 배열로 복사하고 마지막 매개변수는 첫 번째 배열의 바이트 길이를 나타냅니다. . 그런 다음 블록 복사 작업 후 첫 번째 배열의 내용이 표시됩니다. 그런 다음 블록 복사 작업 후 두 번째 배열의 내용이 표시됩니다.
SetByte()는 배열의 지정된 위치에 바이트를 설정할 수 있는 Buffer 클래스의 Buffer 멤버입니다.
GetByte()는 주어진 위치에서 바이트를 얻을 수 있는 Buffer 클래스의 Buffer 멤버입니다.
아래는 예시입니다.
SetByte() 클래스의 Buffer 멤버와 GetByte() 멤버를 보여주는 C# 프로그램:
코드:
using System; //a class called check is defined class check { //main method is called static void Main() { //an inetger array is used to store the integers whose byte values are obtained by using GetByte member of buffer class int[] arrayname = { 0, 1, 512 }; for (inti = 0; i<Buffer.ByteLength(arrayname); i++) { Console.WriteLine(Buffer.GetByte(arrayname, i)); } // SetByte member of buffer class is used to set the byte values of the array Buffer.SetByte(arrayname, 0, 10); Buffer.SetByte(arrayname, 4, 20); Buffer.SetByte(arrayname, 8, 30); // The modified array after using SetByte member of the Buffer class is displayed Console.WriteLine("The modified array after using SetByte member of the Buffer class is:"); for (inti = 0; i<Buffer.ByteLength(arrayname); i++) { Console.WriteLine(Buffer.GetByte(arrayname, i)); } } }
출력:
설명: 위 프로그램에는 check라는 클래스가 정의되어 있습니다. 그런 다음 버퍼 클래스의 GetByte 멤버를 사용하여 바이트 값을 얻은 정수를 저장하는 데 정수 배열이 사용되는 기본 메서드가 호출됩니다. 그런 다음 버퍼 클래스의 SetByte 멤버를 사용하여 배열의 바이트 값을 설정합니다. 그런 다음 Buffer 클래스의 SetByte 멤버를 사용한 후 수정된 배열이 표시됩니다. 출력은 위의 스냅샷에 표시됩니다.
이 튜토리얼에서는 프로그래밍 예제와 출력을 통해 정의, 구문, 작업, 버퍼 클래스 멤버를 통해 C#의 버퍼 개념을 이해합니다.
C# 버퍼에 대한 안내입니다. 여기에서는 C# 버퍼 소개와 예제 및 코드 구현과 함께 작업하는 방법에 대해 설명합니다. 더 자세히 알아보려면 다른 추천 기사를 살펴보세요. –
위 내용은 C# 버퍼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!