System::ArraySegment classe

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ée et remplit 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);

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

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

  // Imprimez 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