Array de clasă (sistem)

Pentru codul sursă pentru .NET Framework pentru acest tip, consultați Sursa de referință. Căutați codul sursă pe Internet, un director pentru lucrul offline și surse pas cu pas (inclusiv remedierile și actualizările) în timpul depanării; consultați instrucțiunile.







Array Clasa nu face parte din spațiul de nume System.Collections. Cu toate acestea, este încă considerată o colecție, deoarece se bazează pe interfața IList.

Array Clasa este clasa de bază pentru implementarea unei limbi care acceptă arrays. Cu toate acestea, numai sistemul și compilatoarele pot moșteni în mod explicit clasa Array. Utilizatorii ar trebui să aplice construcțiile de matrice furnizate de limbă.

Un element este o valoare într-un matrice. Lungimea unei matrice este numărul total de elemente din ea. Limita inferioară a matricei este indexul primului său element. O matrice poate avea orice limită inferioară, dar implicit este zero. Când creați o instanță, puteți defini o altă limită inferioară pe clasa Array a clasei CreateInstance. O matrice array multidimensională poate avea limite inferioare diferite pentru fiecare dimensiune. O matrice poate avea mai mult de 32 de dimensiuni.







Spre deosebire de clasele din spațiul de nume System.Collections. Arrays au o capacitate fixă. Pentru a mări capacitatea, trebuie să creați o gamă nouă de capacitate corectă, să copiați elementele de la vechea matrice la cea nouă și să ștergeți matricea veche.

În mod prestabilit, dimensiunea maximă a matricei este de 2 gigaocteți (GB). Într-un mediu pe 64 de biți, constrângerile legate de dimensiune pot fi evitate prin setarea elementului de configurare atribut gcAllowVeryLargeObjects la adevărat în timpul rulării. Cu toate acestea, matricea va fi în continuare doar 4 miliarde de elemente, iar indexul maxim este 0X7FEFFFFF pentru orice dimensiune dată (0X7FFFFFC7 pentru arhitecturi de octeți și matrice de structuri cu un singur octet).

Type.IsArray and Type. GetElementType ar putea să nu returneze rezultatele așteptate cu Array, deoarece dacă matricea este exprimată într-un tip de Array. rezultatul este un obiect, nu un matrice. Acesta este tipul de (System.Array) .IsArray returnează false. și typeof (System.Array). GetElementType revine null.

Array Nu trebuie să fie sortată. Mai întâi, trebuie să sortați matricea înainte de a efectua operații (cum ar fi BinarySearch) care necesită sortarea matricei.

Folosind Array, un obiect pointer din codul mașinii nu este acceptat și apelează mai multe metode NotSupportedException.







Articole similare

Trimiteți-le prietenilor: