C#-Puffer

王林
Freigeben: 2024-09-03 15:16:44
Original
1002 Leute haben es durchsucht

Die Bedeutung des Wortes Puffer ist etwas, das direkt auf den Speicher wirkt, und der Prozess der Manipulation des Speichers, der nicht verwaltet wird und in Form einer Array-Byte-Darstellung vorliegt, wird in C# als Pufferung bezeichnet. Und die Mitglieder der Pufferklasse in C# sind BlockCopy(), das die Bytes von einem Array ausgehend von einem bestimmten Ort in ein anderes Array kopiert, beginnend von einem bestimmten Ort, und ByteLength(), mit dem die Gesamtzahl der Bytes im Array ermittelt werden kann , GetByte(), mit dem ein Byte an der angegebenen Position abgerufen werden kann, und SetByte(), mit dem ein Byte an der angegebenen Position im Array festgelegt werden kann.

Syntax:

Buffer.Buffer_member_name(parameters);
Nach dem Login kopieren

Wobei Buffer_member_name der Name der Mitglieder der Pufferklasse ist und

Parameter sind die ihm übergebenen Parameter.

Arbeiten am C#-Puffer

  • Immer wenn die Notwendigkeit besteht, direkt am Speicher zu arbeiten, und insbesondere wenn wir den nicht verwalteten Speicher in Form einer Byte-Array-Darstellung manipulieren möchten, verwenden wir Buffer in C#.
  • Die Buffer-Klasse besteht aus mehreren Puffermitgliedern: GetByte(), SetByte(), BlockCopy() und ByteLength().
  • GetByte() ist ein Buffer-Mitglied der Buffer-Klasse, mit dem ein Byte an der angegebenen Position abgerufen werden kann.
  • SetByte() ist ein Buffer-Mitglied der Buffer-Klasse, mit dem ein Byte an der angegebenen Stelle im Array gesetzt werden kann.
  • BlockCopy() ist ein Buffer-Mitglied, das die Bytes von einem Array ausgehend von einem bestimmten Ort in ein anderes Array kopiert, beginnend von einem bestimmten Ort.
  • ByteLength() ist ein Buffer-Mitglied, mit dem die Gesamtzahl der Bytes im Array ermittelt werden kann.

Mitglieder der C#-Pufferklasse

Es gibt vier Mitglieder der Buffer-Klasse. Sie sind:

 1. BlockCopy()

BlockCopy() ist ein Buffer-Mitglied, das die Bytes von einem Array ausgehend von einem bestimmten Ort in ein anderes Array kopiert, beginnend von einem bestimmten Ort.

2. ByteLength()

ByteLength() ist ein Buffer-Mitglied, mit dem die Gesamtzahl der Bytes im Array ermittelt werden kann.

Unten ist das Beispiel:

C#-Programm zur Demonstration von Buffer-Mitgliedern der Klassen ByteCopy() und ByteLength()-Mitglieder zum Kopieren der Bytes von einem Array beginnend an einer bestimmten Position in ein anderes Array beginnend an einer bestimmten Position:

Code:

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");
}
}
}
Nach dem Login kopieren

Ausgabe:

C#-Puffer

Erklärung: Im obigen Programm ist eine Klasse namens Programm definiert. Anschließend wird die Methode main aufgerufen, in der zwei unterschiedlich große Integer-Arrays zur Speicherung der Integer-Werte definiert werden. Der Inhalt des ersten Arrays wird angezeigt und die Bytelänge des ersten Arrays wird mithilfe des ByteLength-Mitglieds der Buffer-Klasse angezeigt. Dann wird der Inhalt des zweiten Arrays angezeigt und die Bytelänge des zweiten Arrays wird mithilfe des ByteLength-Mitglieds der Buffer-Klasse angezeigt. Dann wird das Blockcopy()-Mitglied der Pufferklasse verwendet, um den Inhalt eines Arrays beginnend an der durch den zweiten Parameter angegebenen Position in ein anderes Array zu kopieren, beginnend an der durch den vierten Parameter angegebenen Position, und der letzte Parameter gibt die Bytelänge des ersten Arrays an . Anschließend wird der Inhalt des ersten Arrays nach dem Blockkopiervorgang angezeigt. Anschließend wird der Inhalt des zweiten Arrays nach dem Blockkopiervorgang angezeigt.

3. SetByte()

SetByte() ist ein Buffer-Mitglied der Buffer-Klasse, mit dem ein Byte an der angegebenen Stelle im Array gesetzt werden kann.

4. GetByte()

GetByte() ist ein Buffer-Mitglied der Buffer-Klasse, mit dem ein Byte an der angegebenen Position abgerufen werden kann.

Unten ist das Beispiel:

C#-Programm zur Demonstration von Buffer-Mitgliedern der Klasse SetByte() und GetByte()-Mitgliedern:

Code:

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));
}
}
}
Nach dem Login kopieren

Ausgabe:

C#-Puffer

Erklärung: Im obigen Programm ist eine Klasse namens check definiert. Dann wird die Hauptmethode aufgerufen, in der ein Ganzzahl-Array zum Speichern der Ganzzahlen verwendet wird, deren Bytewerte mithilfe des GetByte-Mitglieds der Pufferklasse erhalten werden. Dann wird das SetByte-Mitglied der Pufferklasse verwendet, um die Bytewerte des Arrays festzulegen. Anschließend wird das geänderte Array nach Verwendung des SetByte-Mitglieds der Buffer-Klasse angezeigt. Die Ausgabe ist im Schnappschuss oben dargestellt.

Fazit

In diesem Tutorial verstehen wir das Konzept von Buffer in C# durch Definition, Syntax, Funktionsweise und Mitglieder der Buffer-Klasse anhand von Programmierbeispielen und deren Ausgaben.

Empfohlener Artikel

Dies ist eine Anleitung zum C#-Puffer. Hier besprechen wir die Einführung in den C#-Puffer und seine Funktionsweise zusammen mit seinen Beispielen und der Code-Implementierung. Sie können auch unsere anderen empfohlenen Artikel durchsehen, um mehr zu erfahren –

  1. Was ist ein Zufallszahlengenerator in C#?
  2. Statischer Konstruktor in Java | Arbeiten | Anwendungen
  3. TextWriter in C# | Beispiele
  4. Wie funktioniert der statische Konstruktor in C#?

Das obige ist der detaillierte Inhalt vonC#-Puffer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!