C # manual, matrice de clasă

Fiecare matrice creată are cea mai mare parte a funcționalității din clasa System.Array. Membrii obișnuiți din această clasă permit lucrul cu o matrice utilizând un model de obiect cu drepturi depline. Astfel, metodele și proprietățile definite în clasa Array pot fi utilizate cu orice matrice C #. Să ne uităm la câteva caracteristici utile ale clasei Array.







Crearea matricelor

Clasa Array este abstractă, astfel încât să nu puteți crea o matrice utilizând orice constructor. Cu toate acestea, în loc să folosiți sintaxa C # pentru a crea instanțe de tablouri, este posibil să le creați folosind metoda statică CreateInstance (). Acest lucru este extrem de convenabil atunci când tipul de elemente de matrice nu este cunoscut în prealabil, deoarece tipul poate fi trecut la metoda CreateInstance () în parametru ca obiect Type:

Rețineți că pentru a seta valorile unui matrice, utilizați metoda SetValue (). și pentru citirea lor - metoda GetValue ().

Deoarece tablourile sunt tipuri de referință, atribuirea unei variabile de tipul matricei unei alte variabile creează două variabile care fac referință la aceeași matrice. Pentru copierea array-urilor, matricele sunt implementate de interfața ICloneable. Metoda Clone (). definită în această interfață, creează o copie superficială a matricei. Dacă elementele matricei sunt de tip de valori, atunci toate sunt copiate, dacă matricea conține elemente de tip de referință, atunci aceste elemente nu sunt copiate și doar referințele la ele sunt copiate.







În locul metodei Clone (), puteți utiliza metoda Array. creând, de asemenea, o copie superficială. Dar există o diferență importantă între Clone () și Soru (): Clone () creează o nouă matrice, iar Soro () necesită o matrice existentă a aceleiași dimensiuni cu suficiente elemente.

Sortarea și căutarea

În clasa Array, este implementat algoritmul pentru sortarea rapidă (Quicksort) a elementelor de matrice. Metoda Sort () necesită elementele de implementare ale interfeței IComparabile. Tipurile simple, cum ar fi System.String și System.Int32, implementează IComparable, astfel încât să puteți sorta elemente legate de aceste tipuri.

Folosind diferite variante ale metodei Sort (), puteți sorta matricele complet sau în limitele specificate sau puteți sorta două tablouri care conțin perechile core-valoare corespunzătoare. După sortarea în matrice, puteți efectua o căutare eficientă utilizând diferite variante ale metodei BinarySearch ().

C # manual, matrice de clasă







Articole similare

Trimiteți-le prietenilor: