System::Array sınıfı

Array class

Array 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ığında veya new operatörüyle oluşturmayın, çünkü çalışma zamanı hatalarına ve/veya doğrulama hatalarına yol açar. Bu sınıfı her zaman System::SmartPtr işaretçisine sarın ve bu işaretçiyi işlevlere argüman olarak geçirmek için kullanın.

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

Nested classes

Yöntemler

YöntemAçıklama
Add(const T&) overrideDesteklenmiyor çünkü mevcut nesne tarafından temsil edilen dizi yalnızca okunur.
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 türü 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 türü T ile aynı ancak UnderlyingType‘den farklı olan bir std::vector nesnesinden taşınan değerlerle doldurur.
Array(std::initializer_list<UnderlyingType>)Belirtilen başlatıcı listeden, UnderlyingType türünde öğeler içeren değerlerle bir Array nesnesi oluşturur ve doldurur.
Array(const std::array<UnderlyingType, InitArraySize>&)Belirtilen diziden, UnderlyingType türünde öğeler içeren değerlerle bir Array nesnesi oluşturur ve doldurur.
Array(std::initializer_list<bool>, int)Belirtilen başlatıcı listeden, bool türünde öğeler içeren değerlerle bir Array nesnesi oluşturur ve doldurur.
begin()Konteynerin ilk elemanına bir yineleyici döndürür. Konteyner boşsa, döndürülen yineleyici end() değerine 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() değerine 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() değerine 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 okunur.
static Clear(const ArrayPtr<Type>&, int, int)count değerlerini, belirtilen dizide startIndex indeksinden başlayarak 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 aralığındaki öğeleri kopyalar.
Contains(const T&) const overrideBelirtilen öğenin dizide olup olmadığını belirler.
static ConvertAll(ArrayPtr<InputType>, Converter<InputType, OutputType>)Yeni bir Array nesnesi oluşturur ve belirtilen dönüştürücü temsilcisi kullanılarak OutputType türüne dönüştürülmüş belirtilen dizinin öğeleriyle doldurur.
static ConvertAll(ArrayPtr<InputType>, std::function<OutputType(InputType)>)Yeni bir Array nesnesi oluşturur ve belirtilen dönüştürücü fonksiyon nesnesi kullanılarak OutputType türüne dönüştürülmüş belirtilen dizinin öğeleriyle doldurur.
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)Yığında bulunan kaynak diziden hedef diziye belirtilen sayıda öğeyi kopyalar.
static Copy(const ArrayPtr<SrcType>&, System::Details::StackArray<DstType, N>&, int64_t)Kaynak diziden yığında bulunan hedef diziye belirtilen sayıda öğeyi kopyalar.
static Copy(System::Details::StackArray<SrcType, NS>&, System::Details::StackArray<DstType, ND>&, int64_t)Yığında bulunan kaynak diziden yığında bulunan hedef diziye belirtilen sayıda öğeyi kopyalar.
static Copy(const ArrayPtr<SrcType>&, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Belirtilen indeksten başlayarak kaynak diziden belirtilen sayıda öğeyi hedef dizide belirtilen konuma kopyalar.
static Copy(System::Details::ArrayView<SrcType>, int64_t, const ArrayPtr<DstType>&, int64_t, int64_t)Belirtilen indeksten başlayarak kaynak dizi görünümünden belirtilen sayıda öğeyi hedef dizide belirtilen konuma kopyalar.
static Copy(const ArrayPtr<SrcType>&, int64_t, System::Details::ArrayView<DstType>, int64_t, int64_t)Belirtilen indeksten başlayarak kaynak diziden belirtilen sayıda öğeyi 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 indeksten başlayarak kaynak dizi görünümünden belirtilen sayıda öğeyi 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)Yığında bulunan kaynak diziden, belirtilen indeksten başlayarak, belirtilen sayıda öğeyi hedef dizide belirtilen konuma kopyalar.
static Copy(const ArrayPtr<SrcType>&, int64_t, System::Details::StackArray<DstType, N>&, int64_t, int64_t)Belirtilen indeksten başlayarak kaynak diziden, belirtilen sayıda öğeyi yığında bulunan hedef dizide belirtilen konuma kopyalar.
static Copy(System::Details::StackArray<SrcType, NS>&, int64_t, System::Details::StackArray<DstType, ND>&, int64_t, int64_t)Yığında bulunan kaynak diziden, belirtilen indeksten başlayarak, belirtilen sayıda öğeyi yığında bulunan hedef dizide belirtilen konuma kopyalar.
static Copy(System::Details::ArrayView<SrcType>&, int64_t, System::Details::StackArray<DstType, ND>&, int64_t, int64_t)Kaynak dizi görünümünden, belirtilen indeksten başlayarak, belirtilen sayıda öğeyi yığında bulunan hedef dizide belirtilen konuma kopyalar.
CopyTo(ArrayPtr<T>, int) overrideMevcut 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) constMevcut dizinin tüm öğelerini belirtilen hedef diziye kopyalar. Öğeler, dstIndex argümanı ile belirtilen indeksten başlayarak hedef diziye eklenir.
CopyTo(const System::Details::ArrayView<DstType>&, int64_t) constMevcut dizinin tüm öğelerini belirtilen hedef dizi görünümüne kopyalar. Öğeler, dstIndex argümanı ile belirtilen indeksten başlayarak hedef dizi görünümüne eklenir.
CopyTo(const ArrayPtr<DstType>&, int64_t, int64_t, int64_t) constBelirtilen konumdan başlayarak geçerli diziden belirtilen sayıda öğeyi belirtilen hedef diziye kopyalar. Öğeler, dstIndex argümanı ile belirtilen indeksten başlayarak hedef diziye eklenir.
CopyTo(const System::Details::ArrayView<DstType>&, int64_t, int64_t, int64_t) constBelirtilen konumdan başlayarak geçerli diziden belirtilen sayıda öğeyi belirtilen hedef dizi görünümüne kopyalar. Öğeler, dstIndex argümanı ile belirtilen indeksten 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() değerine 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şulun şartlarını sağlayan ilk öğeyi arar.
static FindAll(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen koşul tarafından tanımlanan şartları karşılayan tüm öğeleri alır.
static FindIndex(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen dizide, belirtilen koşulun şartlarını 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 bir Enumerator nesnesine 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 overrideDizide belirtilen öğenin ilk görülme konumunun indeksini belirler.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&)Dizide belirtilen öğenin ilk görülme konumunun indeksini belirler.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int)Belirtilen dizide, belirtilen indeksden başlayarak belirtilen öğenin ilk oluşumunun dizinini belirler.
static IndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int, int)Başlangıç indeksi ve aralıktaki öğe sayısı ile belirtilen dizi öğeleri aralığında, belirtilen öğenin ilk oluşumunun dizinini belirler.
Init(const T)Geçerli nesne tarafından temsil edilen diziyi, belirtilen diziden gelen değerlerle doldurur.
Initialize()T tipinde varsayılan oluşturulmuş nesnelerle diziyi doldurur.
Insert(int, const T&) overrideGeçerli nesne tarafından temsil edilen dizi yalnızca okunabilir olduğundan desteklenmez.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int, int)Başlangıç indeksi ve aralıktaki öğe sayısı ile belirtilen dizi öğeleri aralığında, belirtilen öğenin son oluşumunun dizinini belirler.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&, int)Belirtilen dizide, belirtilen indeksden başlayarak belirtilen öğenin son oluşumunun dizinini belirler.
static LastIndexOf(const ArrayPtr<ArrayType>&, const ValueType&)Belirtilen dizide belirtilen öğenin 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 indeksteki bir öğeyi döndürür.
operator[](int) constBelirtilen indeksteki bir öğeyi döndürür.
rbegin()Ters çevrilmiş konteynerin ilk öğesine bir ters iterator döndürür. Bu, ters çevrilmemiş konteynerin son öğesine karşılık gelir. Eğer konteyner boşsa, döndürülen iterator rend() ile eşittir.
rbegin() constTers çevrilmiş konteynerin ilk öğesine bir ters iterator döndürür. Bu, ters çevrilmemiş konteynerin son öğesine karşılık gelir. Eğer konteyner boşsa, döndürülen iterator rend() ile eşittir.
Remove(const T&) overrideDesteklenmiyor çünkü mevcut nesne tarafından temsil edilen dizi yalnızca okunur.
RemoveAt(int) overrideGeçerli nesne tarafından temsil edilen dizi 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 (uygunsa).
SetValue(const T&, int)Belirtilen indeksteki öğ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, anahtarları içeren dizinin değerlerine göre, öğeleri operator< kullanılarak karşılaştırılarak iki diziyi 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, anahtarları içeren dizinin değerlerine göre, öğeleri varsayılan karşılaştırıcıyı kullanarak karşılaştırılarak iki diziyi sıralar.
static TrueForAll(System::ArrayPtr<T>, System::Predicate<T>)Belirtilen dizideki tüm öğelerin, belirtilen koşul tarafından tanımlanan koşulları sağlayıp sağlamadığını belirler.
virtualizeBeginConstIterator() const overrideMevcut kapsayıcı için begin const yineleyicisinin uygulamasını alır.
virtualizeBeginIterator() overrideMevcut kapsayıcı için begin yineleyicisinin uygulamasını alır.
virtualizeEndConstIterator() const overrideMevcut kapsayıcı için end const yineleyicisinin uygulamasını alır.
virtualizeEndIterator() overrideMevcut kapsayıcı için end yineleyicisinin uygulamasını alır.

Typedefs

TypedefAçıklama
const_iteratorConst iterator türü.
const_reverse_iteratorConst reverse iterator türü.
EnumerablePtrT tipinde öğeler içeren IEnumerable nesnesine işaret eden paylaşımlı işaretçi türü için bir takma ad.
EnumeratorPtrT tipinde öğeler içeren IEnumerator nesnesine işaret eden paylaşımlı işaretçi türü için bir takma ad.
iteratorIterator türü.
reverse_iteratorReverse iterator türü.
UnderlyingTypeDizideki her öğeyi temsil etmek için kullanılan türün takma adı.
ValueTypeDizinin elemanlarının türü için 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 sırayla 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;

  // Dizinin boyutunu değiştir.
  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