System::ArraySegment sınıfı

ArraySegment class

Tek boyutlu bir dizinin bir segmentini temsil eder. Bu tip yığıt üzerinde tahsis edilmeli ve fonksiyonlara değer ya da referans olarak geçirilmelidir. Bu tip nesneleri yönetmek için System::SmartPtr sınıfını asla kullanmayın.

template<typename T>class ArraySegment : public System::Object
ParameterAçıklama
TDizi segmenti öğelerinin tipi.

Yöntemler

YöntemAçıklama
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 overrideC# Object.GetHashCode() metodunun benzeri. Özel nesnelerin hash’lenmesini sağlar.

Açıklamalar

#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()
{
  // Diziyi oluştur ve doldur.
  auto array = System::MakeObject<Array<String>>(3);
  array[0] = u"First";
  array[1] = u"Second";
  array[2] = u"Third";

  // Tüm diziyi içeren dizi segmentini oluştur.
  auto fullArray = MakeObject<ArraySegment<String>>(array);

  // Dizi segmenti öğelerini yazdır.
  Print(fullArray);

  // Dizi segmentini oluştur.
  auto segment = MakeObject<ArraySegment<String>>(array, 1, 2);

  // Dizi segmenti öğelerini yazdır.
  Print(segment);

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

Ayrıca Bakınız