C# バッファ

王林
リリース: 2024-09-03 15:16:44
オリジナル
1002 人が閲覧しました

バッファーという言葉の意味は、メモリ上で直接動作するものであり、管理されていないバイト配列表現の形でメモリを操作するプロセスは、C# ではバッファリングと呼ばれます。 C# のバッファ クラスのメンバーは、指定された位置から始まる 1 つの配列から指定された位置から始まる別の配列にバイトをコピーする BlockCopy() と、配列内の合計バイト数を取得できる ByteLength() です。 、GetByte() を使用して指定された位置のバイトを取得でき、SetByte() を使用して配列内の指定された位置にバイトを設定できます。

構文:

Buffer.Buffer_member_name(parameters);
ログイン後にコピー

ここで、Buffer_member_name はバッファ クラスのメンバーの名前です。

パラメータは、それに渡されるパラメータです。

C# バッファーでの作業

  • メモリを直接操作する必要がある場合、具体的にはバイト配列表現の形式で管理されていないメモリを操作したい場合は、C# の Buffer を使用します。
  • Buffer クラスは、GetByte()、SetByte()、BlockCopy()、ByteLength() という複数のバッファー メンバーで構成されます。
  • GetByte() は、指定された位置のバイトを取得できる Buffer クラスの Buffer メンバーです。
  • SetByte() は、配列内の指定された位置にバイトを設定できる Buffer クラスの Buffer メンバーです。
  • BlockCopy() は、指定された位置から始まる 1 つの配列から、指定された位置から始まる別の配列にバイトをコピーするバッファー メンバーです。
  • ByteLength() は、配列内の合計バイト数を取得できる Buffer メンバーです。

C# バッファー クラスのメンバー

Buffer クラスには 4 つのメンバーがあります。それらは次のとおりです:

1. BlockCopy()

BlockCopy() は、指定された位置から始まる 1 つの配列から、指定された位置から始まる別の配列にバイトをコピーするバッファー メンバーです。

2. ByteLength()

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");
}
}
}
ログイン後にコピー

出力:

C# バッファ

説明: 上記のプログラムでは、program というクラスが定義されています。次に、メイン メソッドが呼び出され、整数を格納するためにサイズの異なる 2 つの整数配列が定義されます。最初の配列の内容が表示され、最初の配列のバイト長が Buffer クラスの ByteLength メンバーを使用して表示されます。次に、2 番目の配列の内容が表示され、Buffer クラスの ByteLength メンバーを使用して 2 番目の配列のバイト長が表示されます。次に、バッファ クラスの Blockcopy() メンバーを使用して、2 番目のパラメーターで指定された位置から始まる 1 つの配列の内容を、4 番目のパラメーターで指定された位置から始まる別の配列にコピーします。最後のパラメーターは、最初の配列のバイト長を示します。 。次に、ブロック コピー操作後の最初の配列の内容が表示されます。次に、ブロック コピー操作後の 2 番目の配列の内容が表示されます。

3. SetByte()

SetByte() は、配列内の指定された位置にバイトを設定できる Buffer クラスの Buffer メンバーです。

4. GetByte()

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));
}
}
}
ログイン後にコピー

出力:

C# バッファ

説明: 上記のプログラムでは、check というクラスが定義されています。次に、メイン メソッドが呼び出され、その中で整数配列が使用され、バッファ クラスの GetByte メンバーを使用してバイト値が取得された整数が格納されます。次に、バッファ クラスの SetByte メンバーを使用して、配列のバイト値を設定します。次に、Buffer クラスの SetByte メンバーを使用した後に変更された配列が表示されます。出力は上のスナップショットに示されています。

結論

このチュートリアルでは、プログラミング例とその出力を通じて、バッファー クラスの定義、構文、動作、メンバーを通じて C# のバッファーの概念を理解します。

おすすめ記事

これは C# バッファーのガイドです。ここでは、C# バッファーの概要とその動作について、その例とコード実装とともに説明します。詳細については、他の推奨記事を参照することもできます –

  1. C# の乱数ジェネレーターとは何ですか?
  2. Java の静的コンストラクター |働く |アプリケーション
  3. C# の TextWriter |例
  4. C# で静的コンストラクターを動作させるには?

以上がC# バッファの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!