Maison >développement back-end >C++ >Comment puis-je créer et utiliser efficacement des tranches de tableau en C# ?

Comment puis-je créer et utiliser efficacement des tranches de tableau en C# ?

DDD
DDDoriginal
2025-01-14 20:23:45541parcourir

How Can I Efficiently Create and Use Array Slices in C#?

Utiliser efficacement le découpage de tableaux C#

En programmation C#, le découpage de tableau fait référence à l'opération d'extraction d'un sous-ensemble d'éléments consécutifs à partir d'un tableau existant. Cette fonctionnalité est souvent utilisée pour isoler des parties spécifiques de données à traiter ou à analyser.

Créer une tranche de tableau

Pour créer une tranche de tableau en C#, vous pouvez utiliser les méthodes suivantes :

<code class="language-csharp">byte[] byteArray = new byte[4096];
var slice = new ArraySegment<byte>(byteArray, 0, 40);</code>

Dans cet exemple :

  • byteArray est le tableau d'origine dont nous voulons extraire les tranches.
  • new ArraySegment<byte>(..., ..., ...) est un constructeur qui crée un nouvel objet ArraySegment.
  • Le constructeur prend trois paramètres :
    • byteArray : tableau d'origine.
    • 0 : Index de départ de la tranche.
    • 40 : Le nombre d'éléments dans la tranche.
L'objet slice généré par

contient une référence à l'original byteArray, ainsi que des informations sur l'index de départ et la longueur de la tranche. Il est important de noter que les données du tableau ne sont pas copiées.

ArraySegment : fonctionnalités et avantages

La classe

ArraySegment offre quelques fonctionnalités et avantages clés :

  • Léger : ArraySegmentLes objets sont légers et efficaces car ils ne copient pas les données du tableau sous-jacent.
  • Extensibilité : La classe ArraySegment possède des méthodes et des types génériques qui peuvent être utilisés pour manipuler des tableaux.
  • Référence du tableau : l'objet ArraySegment contient une référence au tableau d'origine, vous permettant d'accéder et de modifier directement les données sous-jacentes.

Utiliser le découpage de tableau

Après avoir créé une tranche de tableau, vous pouvez l'utiliser comme une collection itérable :

<code class="language-csharp">foreach (byte b in slice)
{
    // 对字节执行某些操作
}</code>

Cela vous permet de traiter des éléments dans une tranche sans créer de tableau séparé.

Remarque : Bien que C# n'ait pas de syntaxe dédiée pour le découpage de tableaux comme @bar = @foo[0..40] de Perl, la classe ArraySegment fournit un moyen puissant et efficace d'obtenir la même fonctionnalité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn