System::Array sınıfı

Array class

Dizi veri yapısını temsil eden sınıf. Bu sınıfın nesneleri yalnızca System::MakeArray() ve System::MakeObject() işlevleri kullanılarak ayrılmalıdır. Bu tipin örneğini yığına (stack) ya da operator new ile asla oluşturmayın; aksi takdirde çalışma zamanı hataları ve/veya doğrulama hataları ortaya çıkar. Bu sınıfı her zaman System::SmartPtr işaretçisine sarın ve bu işaretçiyi fonksiyonlara argüman olarak geçirmek için kullanın.

template<typename T>class Array : public virtual System::Object,
                                  public System::Collections::Generic::IList<T>
ParameterAçıklama
TBir dizinin öğelerinin tipi

Nested classes

Yöntemler

YöntemAçıklama
Add(const T&) overrideDesteklenmiyor çünkü mevcut nesne tarafından temsil edilen dizi yalnızca okunabilir.
Array()Boş bir dizi oluşturur.
Array(int, const T&)Dolgu kurucusu.
Array(typename std::enable_if<std::is_arithmetic<T>::value&&std::is_arithmetic<ValueType>::value&&std::is_convertible<ValueType, T>::value, int>::type, ValueType)Dolgu kurucusu.
Array(int, const T)Dolgu kurucusu.
Array(vector_t&&)Taşıma kurucusu.
Array(const vector_t&)Kopya yapıcı.
Array(const std::vector<Q>&)Bir Array nesnesi oluşturur ve değerlerini, değer tipi T ile aynı ancak UnderlyingType‘den farklı olan bir std::vector nesnesinden kopyalanan değerlerle doldurur.
Array(std::vector<Q>&&)Bir Array nesnesi oluşturur ve değerlerini, değer tipi T ile aynı ancak UnderlyingType‘den farklı olan bir std::vector nesnesinden taşınan değerlerle doldurur.
Array(std::initializer_list<UnderlyingType>)Bir Array nesnesi oluşturur ve değerlerini, UnderlyingType tipinde öğeler içeren belirtilen başlatıcı listeden alır.
Array(const std::array<UnderlyingType, InitArraySize>&)Belirtilen UnderlyingType tipinde öğeler içeren belirtilen diziden değerlerle dolduran bir Array nesnesi oluşturur.
Array(std::initializer_list<bool>, int)Belirtilen bool tipinde öğeler içeren başlatıcı listeden değerlerle dolduran bir Array nesnesi oluşturur.
begin()Konteynerin ilk elemanına bir yineleyici döndürür. Konteyner boşsa, döndürülen yineleyici end() ile eşit olur.
begin() constConst nitelikli konteynerin ilk elemanına bir yineleyici döndürür. Konteyner boşsa, döndürülen yineleyici end() ile eşit olur.
static BinarySearch(System::ArrayPtr<T>, const T&)Sıralı dizide ikili arama gerçekleştirir.
static BinarySearch(System::ArrayPtr<T>, const Y&, const SharedPtr<Collections::Generic::IComparer<Z>>&)UYGULANMADI.
cbegin() constKonteynerin ilk const-nitelikli elemanına bir yineleyici döndürür. Konteyner boşsa, döndürülen yineleyici cend() ile eşit olur.
cend() constKonteynerin son elemanını takiben gelen elemana bir yineleyici döndürür. Bu eleman bir yer tutucu görevi görür; ona erişmeye çalışmak tanımsız davranışa yol açar.
Clear() overrideDesteklenmiyor çünkü mevcut nesne tarafından temsil edilen dizi yalnızca okunabilir.
static Clear(const ArrayPtr<Type>&, int, int)Belirtilen dizide startIndex indeksinden başlayarak count değeri varsayılan değerlerle değiştirir.
Clone()Diziyi klonlar.
static ConstrainedCopy(const ArrayPtr<SrcType>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Belirtilen kaynaktan başlayarak bir System.Array içindeki öğeler aralığını kopyalar.
Contains(const T&) const overrideBelirtilen öğenin dizi içinde olup olmadığını belirler.
static ConvertAll(ArrayPtr<InputType>, Converter<InputType, OutputType>)Belirtilen dönüştürücü temsilcisi kullanılarak OutputType tipine dönüştürülmüş belirtilen dizinin öğeleriyle dolduran yeni bir Array nesnesi oluşturur.
static ConvertAll(ArrayPtr<InputType>, std::function<OutputType(InputType)>)Belirtilen dönüştürücü fonksiyon nesnesi kullanılarak OutputType tipine dönüştürülmüş belirtilen dizinin öğeleriyle dolduran yeni bir Array nesnesi oluşturur.
static Copy(const ArrayPtr<SrcType>&, const ArrayPtr<DstType>&, int64_t)Belirtilen sayıda öğeyi kaynak diziden hedef diziye kopyalar.
static Copy(System::Details::ArrayView<SrcType>, const ArrayPtr<DstType>&, int64_t)Belirtilen sayıda öğeyi kaynak dizi görünümünden hedef diziye kopyalar.
static Copy(const ArrayPtr<SrcType>&, System::Details::ArrayView<DstType>, int64_t)Belirtilen sayıda öğeyi kaynak diziden hedef dizi görünümüne kopyalar.
static Copy(System::Details::ArrayView<SrcType>, System::Details::ArrayView<DstType>, int64_t)Belirtilen sayıda öğeyi kaynak dizi görünümünden hedef dizi görünümüne kopyalar.
static Copy(System::Details::StackArray<SrcType, N>&, const ArrayPtr<DstType>&, int64_t)Belirtilen sayıda öğeyi yığın üzerindeki kaynak diziden hedef diziye kopyalar.
static Copy(const ArrayPtr<SrcType>&, System::Details::StackArray<DstType, N>&, int64_t)Belirtilen sayıda öğeyi kaynak diziden yığın üzerindeki hedef diziye kopyalar.
static Copy(System::Details::StackArray<SrcType, NS>&, System::Details::StackArray<DstType, ND>&, int64_t)Belirtilen sayıda öğeyi yığın üzerindeki kaynak diziden yığın üzerindeki hedef diziye kopyalar.
static Copy(const ArrayPtr<SrcType>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan kaynak diziden hedef dizide belirtilen konuma kopyalar.
static Copy(System::Details::ArrayView<SrcType>, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan kaynak dizi görünümünden hedef dizide belirtilen konuma kopyalar.
static Copy(const ArrayPtr<SrcType>&, int64_t, System::Details::ArrayView<DstType>, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan kaynak diziden hedef dizi görünümünde belirtilen konuma kopyalar.
static Copy(System::Details::ArrayView<SrcType>, int64_t, System::Details::ArrayView<DstType>, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan kaynak dizi görünümünden hedef dizi görünümünde belirtilen konuma kopyalar.
static Copy(System::Details::StackArray<SrcType, N>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan yığın üzerindeki kaynak diziden hedef dizide belirtilen konuma kopyalar.
static Copy(const ArrayPtr<SrcType>&, int64_t, System::Details::StackArray<DstType, N>&, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan kaynak diziden yığın üzerindeki hedef dizide belirtilen konuma kopyalar.
static Copy(System::Details::StackArray<SrcType, NS>&, int64_t, System::Details::StackArray<DstType, ND>&, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan yığın üzerindeki kaynak diziden yığın üzerindeki hedef dizide belirtilen konuma kopyalar.
static Copy(System::Details::ArrayView<SrcType>&, int64_t, System::Details::StackArray<DstType, ND>&, int64_t, int64_t)Belirtilen sayıda öğeyi, belirtilen indeksden başlayan kaynak dizi görünümünden yığın üzerindeki hedef dizide belirtilen konuma kopyalar.
CopyTo(ArrayPtr<T>, int) overrideGeçerli dizinin tüm öğelerini belirtilen hedef diziye kopyalar. Öğeler, arrayIndex argümanı ile belirtilen indeksten başlayarak hedef diziye eklenir.
CopyTo(const ArrayPtr<DstType>&, int64_t) constGeçerli dizinin tüm öğelerini belirtilen hedef diziye kopyalar. Öğeler, dstIndex argümanı tarafından belirtilen indeks’ten başlayarak hedef diziye eklenir.
CopyTo(const System::Details::ArrayView<DstType>&, int64_t) constGeçerli dizinin tüm öğelerini belirtilen hedef dizi görünümüne kopyalar. Öğeler, dstIndex argümanı tarafından belirtilen indeks’ten başlayarak hedef dizi görünümüne eklenir.
CopyTo(const ArrayPtr<DstType>&, int64_t, int64_t, int64_t) constGeçerli diziden belirtilen konumda başlayan belirtilen sayıda öğeyi belirtilen hedef diziye kopyalar. Öğeler, dstIndex argümanı tarafından belirtilen indeks’ten başlayarak hedef diziye eklenir.
CopyTo(const System::Details::ArrayView<DstType>&, int64_t, int64_t, int64_t) constGeçerli diziden belirtilen konumda başlayan belirtilen sayıda öğeyi belirtilen hedef dizi görünümüne kopyalar. Öğeler, dstIndex argümanı tarafından belirtilen indeks’ten başlayarak hedef dizi görünümüne eklenir.
Count() constDizinin tüm boyutlarındaki tüm öğelerin toplam sayısını temsil eden bir sayı döndürür.
crbegin() constTers çevrilmiş konteynerin ilk elemanına bir ters yineleyici döndürür. Bu, ters çevrilmemiş konteynerin son elemanına karşılık gelir. Konteyner boşsa, döndürülen yineleyici crend() ile eşit olur.
crend() constTers çevrilmiş konteynerin son elemanını takiben gelen elemana bir ters yineleyici döndürür. Bu, ters çevrilmemiş konteynerin ilk elemanından önceki elemana karşılık gelir. Bu eleman bir yer tutucu görevi görür; ona erişmeye çalışmak tanımsız davranışa yol açar.
data()Dizi öğelerini depolamak için kullanılan iç veri yapısına bir referans döndürür.
data() constDizi öğelerini depolamak için kullanılan iç veri yapısına sabit bir referans döndürür.
data_ptr()Dizi öğelerinin depolandığı bellek tamponunun başlangıcına ham bir işaretçi döndürür.
data_ptr() constDizi öğelerinin depolandığı bellek tamponunun başlangıcına sabit bir ham işaretçi döndürür.
end()Konteynerin son elemanını takiben gelen elemana bir yineleyici döndürür. Bu eleman bir yer tutucu görevi görür; ona erişmeye çalışmak tanımsız davranışa yol açar.
end() constConst-nitelikli konteynerin son elemanını takiben gelen elemana bir yineleyici döndürür. Bu eleman bir yer tutucu görevi görür; ona erişmeye çalışmak tanımsız davranışa yol açar.
static Exists(ArrayPtr<T>, std::function<bool(T)>)Belirtilen Array nesnesinin, belirtilen koşulu sağlayan bir öğe içerip içermediğini belirler.
static Find(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen dizide, belirtilen koşulu sağlayan ilk öğeyi arar.
static FindAll(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen koşul tarafından tanımlanan koşullara uyan tüm öğeleri alır.
static FindIndex(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen dizide, belirtilen koşulu sağlayan ilk öğeyi arar.
static ForEach(const ArrayPtr<T>&, System::Action<T>)Belirtilen dizinin her bir öğesi üzerinde belirtilen eylemi gerçekleştirir.
get_Count() const overrideDizinin boyutunu döndürür.
get_IsReadOnly() const overrideDizinin yalnızca okunur olup olmadığını gösterir.
get_Length() constDizinin tüm boyutlarındaki tüm öğelerin toplam sayısını temsil eden 32‑bit tamsayı döndürür.
get_LongLength() constDizinin tüm boyutlarındaki tüm öğelerin toplam sayısını temsil eden 64‑bit tamsayı döndürür.
get_Rank() constUYGULANMADI.
GetEnumerator() overrideGeçerli nesne tarafından temsil edilen dizinin öğelerine IEnumerator arayüzü sağlayan Enumerator nesnesine bir işaretçi döndürür.
GetLength(int)Belirtilen boyuttaki öğe sayısını döndürür.
GetLongLength(int)Belirtilen boyuttaki öğe sayısını 64‑bit tamsayı olarak döndürür.
GetLowerBound(int) constBelirtilen boyutun alt sınırını döndürür.
GetSizeTLength() constDizinin tüm boyutlarındaki tüm öğelerin toplam sayısını temsil eden bir std::size_t değişkeni döndürür.
GetUpperBound(int)Belirtilen boyutun üst sınırını döndürür.
idx_get(int) const overrideBelirtilen indeksteki öğeyi döndürür.
idx_set(int, T) overrideBelirtilen değeri, belirtilen indeksteki dizi öğesi olarak ayarlar.
IndexOf(const T&) const overrideBelirtilen öğenin dizideki ilk oluşumunun dizinini belirler.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&)Belirtilen öğenin dizideki ilk oluşumunun dizinini belirler.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int)Belirtilen öğenin dizideki ilk oluşumunun dizinini, belirtilen dizinden başlayarak belirler.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int, int)Belirtilen öğenin, başlangıç dizini ve aralıktaki öğe sayısı ile belirtilen dizi öğeleri aralığındaki ilk oluşumunun dizinini belirler.
Init(const T)Mevcut nesne tarafından temsil edilen diziyi, belirtilen diziden gelen değerlerle doldurur.
Initialize()Diziyi, T tipinde varsayılan oluşturulmuş nesnelerle doldurur.
Insert(int, const T&) overrideDizi, mevcut nesne tarafından temsil edildiği için yalnızca okunabilir olduğundan desteklenmez.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int, int)Belirtilen öğenin, başlangıç dizini ve aralıktaki öğe sayısı ile belirtilen dizi öğeleri aralığındaki son oluşumunun dizinini belirler.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int)Belirtilen öğenin dizideki son oluşumunun dizinini, belirtilen dizinden başlayarak belirler.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&)Belirtilen öğenin dizideki son oluşumunun dizinini belirler.
Max() constDizideki en büyük öğeyi, öğeleri karşılaştırmak için operator<() kullanarak bulur.
Min() constDizideki en küçük öğeyi, öğeleri karşılaştırmak için operator<() kullanarak bulur.
operator[](int)Belirtilen dizindeki bir öğeyi döndürür.
operator[](int) constBelirtilen dizindeki bir öğeyi döndürür.
rbegin()Ters çevrilmiş konteynerin ilk öğesine bir ters yineleyici döndürür. Bu, ters çevrilmemiş konteynerin son öğesine karşılık gelir. Eğer konteyner boşsa, döndürülen yineleyici rend() ile eşittir.
rbegin() constTers çevrilmiş konteynerin ilk öğesine bir ters yineleyici döndürür. Bu, ters çevrilmemiş konteynerin son öğesine karşılık gelir. Eğer konteyner boşsa, döndürülen yineleyici rend() ile eşittir.
Remove(const T&) overrideDesteklenmiyor çünkü mevcut nesne tarafından temsil edilen dizi yalnızca okunabilir.
RemoveAt(int) overrideDizi, mevcut nesne tarafından temsil edildiği için yalnızca okunabilir olduğundan desteklenmez.
rend()Ters çevrilmiş konteynerin son elemanını takiben gelen elemana bir ters yineleyici döndürür. Bu, ters çevrilmemiş konteynerin ilk elemanından önceki elemana karşılık gelir. Bu eleman bir yer tutucu görevi görür; ona erişmeye çalışmak tanımsız davranışa yol açar.
rend() constTers çevrilmiş konteynerin son elemanını takiben gelen elemana bir ters yineleyici döndürür. Bu, ters çevrilmemiş konteynerin ilk elemanından önceki elemana karşılık gelir. Bu eleman bir yer tutucu görevi görür; ona erişmeye çalışmak tanımsız davranışa yol açar.
static Resize(ArrayPtr<Type>&, int)Belirtilen dizinin boyutunu belirtilen değere değiştirir veya belirtilen boyutta yeni bir dizi oluşturur.
static Reverse(const ArrayPtr<Type>&)Belirtilen dizideki öğeleri tersine çevirir.
static Reverse(const ArrayPtr<Type>&, int, int)Belirtilen dizideki bir öğe aralığını tersine çevirir.
SetTemplateWeakPtr(uint32_t) overrideDizinin saklanan işaretçileri zayıf olarak ele almasını sağlar (uygulanabilir ise).
SetValue(const T&, int)Belirtilen dizindeki öğenin değerini ayarlar.
static Sort(const ArrayPtr<Type>&)Belirtilen dizideki öğeleri varsayılan karşılaştırıcıyı kullanarak sıralar.
static Sort(const ArrayPtr<Type>&, int, int)Belirtilen dizideki bir öğe aralığını varsayılan karşılaştırıcıyı kullanarak sıralar.
static Sort(const ArrayPtr<Type>&, const SharedPtr<System::Collections::Generic::IComparer<T>>&)Belirtilen dizideki öğeleri belirtilen karşılaştırıcıyı kullanarak sıralar.
static Sort(const ArrayPtr<Type>&, const SharedPtr<System::Collections::Generic::IComparer<Y>>&)UYGULANMADI.
static Sort(const ArrayPtr<TKey>&, const ArrayPtr<TValue>&)Anahtarları içeren bir dizi ve diğer dizi - karşılık gelen öğeler - anahtar dizisinin değerlerine göre, öğeleri operator< kullanılarak karşılaştırılan bir diziye göre sıralar.
static Sort(const ArrayPtr<TKey>&, const ArrayPtr<TValue>&, int, int)Anahtarları içeren bir dizi ve diğer dizi - karşılık gelen öğeler - anahtar dizisinin değerlerine göre, öğeleri varsayılan karşılaştırıcı kullanılarak karşılaştırılan bir diziye göre sıralar.
static TrueForAll(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen dizideki tüm öğelerin, belirtilen koşulu tanımlayan önermeyi karşılayıp karşılamadığını belirler.
virtualizeBeginConstIterator() const overrideMevcut konteyner için begin const iterator’un uygulanmasını alır.
virtualizeBeginIterator() overrideMevcut konteyner için begin iterator’un uygulanmasını alır.
virtualizeEndConstIterator() const overrideMevcut konteyner için end const iterator’un uygulanmasını alır.
virtualizeEndIterator() overrideMevcut konteyner için end iterator’un uygulanmasını alır.

Typedefs

TypedefAçıklama
const_iteratorSabit yineleyici türü.
const_reverse_iteratorSabit ters yineleyici türü.
EnumerablePtrAn alias for shared pointer type pointing to IEnumerable object containing elements of type T.
EnumeratorPtrTip T elemanlarını içeren IEnumerator nesnesine işaret eden paylaşımlı gösterici türü için bir takma ad.
iteratorYineleyici türü.
reverse_iteratorTers yineleyici türü.
UnderlyingTypeDizinin her bir elemanını temsil etmek için kullanılan tür için bir takma ad.
ValueTypeDizinin elemanlarının türü için bir takma ad.

Açıklamalar

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

using namespace System;

void Print(const SmartPtr<Array<int32_t>> &arrayPtr)
{
  for (auto item: arrayPtr)
  {
    std::cout << item << ' ';
  }
  std::cout << std::endl;
}

int main()
{
  // Diziyi oluştur ve doldur.
  auto arrayPtr = MakeObject<Array<int32_t>>(5, 0);
  for (auto i = 0; i < arrayPtr->get_Length(); ++i)
  {
    arrayPtr[i] = 5 - i;
  }

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

  // Dizi öğelerini artan şekilde sırala.
  Array<int32_t>::Sort(arrayPtr);

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

  // Dizi öğelerinin sayısını yazdır.
  std::cout << arrayPtr->get_Length() << std::endl;

  // 4'e eşit olan öğenin indeksini yazdır.
  std::cout << arrayPtr->IndexOf(4) << std::endl;

  // Diziyi yeniden boyutlandır.
  Array<int32_t>::Resize(arrayPtr, 3);

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

  return 0;
}
/*
This code example produces the following output:
5 4 3 2 1
1 2 3 4 5
5
3
1 2 3
*/

Ayrıca Bakınız