バッファーという言葉の意味は、メモリ上で直接動作するものであり、管理されていないバイト配列表現の形でメモリを操作するプロセスは、C# ではバッファリングと呼ばれます。 C# のバッファ クラスのメンバーは、指定された位置から始まる 1 つの配列から指定された位置から始まる別の配列にバイトをコピーする BlockCopy() と、配列内の合計バイト数を取得できる ByteLength() です。 、GetByte() を使用して指定された位置のバイトを取得でき、SetByte() を使用して配列内の指定された位置にバイトを設定できます。
構文:
Buffer.Buffer_member_name(parameters);
ここで、Buffer_member_name はバッファ クラスのメンバーの名前です。
パラメータは、それに渡されるパラメータです。
Buffer クラスには 4 つのメンバーがあります。それらは次のとおりです:
BlockCopy() は、指定された位置から始まる 1 つの配列から、指定された位置から始まる別の配列にバイトをコピーするバッファー メンバーです。
ByteLength() は、配列内の合計バイト数を取得できる Buffer メンバーです。
以下は例です:
クラス ByteCopy() の Buffer メンバーと ByteLength() メンバーを示し、指定された位置から始まる 1 つの配列から指定された位置から始まる別の配列にバイトをコピーする 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 というクラスが定義されています。次に、メイン メソッドが呼び出され、整数を格納するためにサイズの異なる 2 つの整数配列が定義されます。最初の配列の内容が表示され、最初の配列のバイト長が Buffer クラスの ByteLength メンバーを使用して表示されます。次に、2 番目の配列の内容が表示され、Buffer クラスの ByteLength メンバーを使用して 2 番目の配列のバイト長が表示されます。次に、バッファ クラスの Blockcopy() メンバーを使用して、2 番目のパラメーターで指定された位置から始まる 1 つの配列の内容を、4 番目のパラメーターで指定された位置から始まる別の配列にコピーします。最後のパラメーターは、最初の配列のバイト長を示します。 。次に、ブロック コピー操作後の最初の配列の内容が表示されます。次に、ブロック コピー操作後の 2 番目の配列の内容が表示されます。
SetByte() は、配列内の指定された位置にバイトを設定できる Buffer クラスの Buffer メンバーです。
GetByte() は、指定された位置のバイトを取得できる Buffer クラスの Buffer メンバーです。
以下は例です:
クラス SetByte() および GetByte() メンバーの Buffer メンバーを示す 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 中国語 Web サイトの他の関連記事を参照してください。