System::ArraySegment Klasse

ArraySegment class

Stellt ein Segment des eindimensionalen Arrays dar. Dieser Typ sollte auf dem Stack alloziert und an Funktionen per Wert oder Referenz übergeben werden. Verwenden Sie niemals die Klasse System::SmartPtr, um Objekte dieses Typs zu verwalten.

template<typename T>class ArraySegment : public System::Object
ParameterBeschreibung
TDer Typ der Elemente des Arraysegments.

Methoden

MethodeBeschreibung
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 overrideAnalog zur C#-Methode Object.GetHashCode(). Ermöglicht das Hashen benutzerdefinierter Objekte.

Hinweise

#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()
{
  // Erstelle und fülle das Array.
  auto array = System::MakeObject<Array<String>>(3);
  array[0] = u"First";
  array[1] = u"Second";
  array[2] = u"Third";

  // Erstelle das Arraysegment, das das gesamte Array enthält.
  auto fullArray = MakeObject<ArraySegment<String>>(array);

  // Gib die Elemente des Arraysegments aus.
  Print(fullArray);

  // Erstelle das Arraysegment.
  auto segment = MakeObject<ArraySegment<String>>(array, 1, 2);

  // Gib die Elemente des Arraysegments aus.
  Print(segment);

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

Siehe auch