Classe System::ArraySegment

ArraySegment class

Représente un segment du tableau unidimensionnel. Ce type doit être alloué sur la pile et passé aux fonctions par valeur ou par référence. N’utilisez jamais la classe System::SmartPtr pour gérer les objets de ce type.

template<typename T>class ArraySegment : public System::Object
ParamètreDescription
TLe type des éléments du segment de tableau.

Méthodes

MéthodeDescription
ArraySegment(System::ArrayPtr<T>)
ArraySegment(System::ArrayPtr<T>, int32_t, int32_t)
ArraySegment()
Equals(System::SharedPtr<Object>) override
Equals(ArraySegment<T>)
get_Array()
get_Count()
get_Offset()
GetHashCode() const overrideAnalogue de la méthode C# Object.GetHashCode(). Permet le hachage d’objets personnalisés.

Remarques

#include <system/array_segment.h>
#include <system/smart_ptr.h>

using namespace System;

void Print(const SmartPtr<ArraySegment<String>> &segment)
{
  for (auto i = segment->get_Offset(); i < segment->get_Offset() + segment->get_Count(); i++)
  {
    std::cout << segment->get_Array()[i] << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Créez et remplissez le tableau.
  auto array = System::MakeObject<Array<String>>(3);
  array[0] = u"First";
  array[1] = u"Second";
  array[2] = u"Third";

  // Créez le segment de tableau qui contient le tableau complet.
  auto fullArray = MakeObject<ArraySegment<String>>(array);

  // Affichez les éléments du segment de tableau.
  Print(fullArray);

  // Créez le segment de tableau.
  auto segment = MakeObject<ArraySegment<String>>(array, 1, 2);

  // Affichez les éléments du segment de tableau.
  Print(segment);

  return 0;
}
/*
This code example produces the following output:
First Second Third
Second Third
*/

Voir aussi