Memandangkan ia adalah kelas asas abstrak, mencipta contoh kelas System.Array secara langsung tidak mungkin. Sebaliknya, kita boleh mencipta contoh salah satu kelas yang diperoleh daripada System.Array. Semua jenis tatasusunan dalam C# adalah berdasarkan System.Array.
Selain tatasusunan satu dimensi, C# juga mempunyai tatasusunan berbilang dimensi dan tatasusunan bergerigi. Tatasusunan berbilang dimensi mempunyai berbilang atau lebih besar daripada satu dimensi. Dalam tatasusunan bergerigi, setiap elemen boleh menjadi tatasusunan saiz yang berbeza. Dalam kata mudah, tatasusunan bergerigi ialah tatasusunan tatasusunan.
Apakah itu System.Array Class Digunakan Untuk
Kelas System.Array menyediakan pelbagai kaedah dan sifat untuk memanipulasi tatasusunan dalam C#. Kaedah ini membolehkan kami membaca dan mengubah suai nilai yang disimpan dalam tatasusunan, mendapatkan maklumat tentang saiz dan bentuk tatasusunan dan mencari elemen dalam tatasusunan.
Beberapa kaedah biasa termasuk GetValue(), SetValue(), GetLength(), dan IndexOf(). The Sistem. Tatasusunan kelas juga membolehkan kami mengisih, mencari dan memanipulasi tatasusunan yang berbeza.
Sebagai contoh, untuk mendapatkan panjang tatasusunan, the Harta panjang digunakan. The Harta pangkat boleh mengembalikan jumlah dimensi yang ada dalam tatasusunan. The Harta GetLength memberikan panjang dimensi tertentu dalam tatasusunan berbilang dimensi.
Kaedah dan Sifat dalam System.Array C#
Berikut ialah beberapa kaedah dan sifat yang digunakan dalam System.Array C#:
Kosongkan(): Ini adalah kaedah yang tersedia untuk orang ramai dan boleh diakses dari mana-mana bahagian kod. Kaedah ini boleh menetapkan julat elemen tertentu dalam tatasusunan kepada rujukan null atau sifar.
Salinan(): Ini ialah kaedah perkongsian awam yang boleh dibebankan dan digunakan untuk menyalin bahagian tertentu elemen daripada satu tatasusunan ke tatasusunan lain.
GetLength(): Ia mengembalikan integer 32-bit yang menunjukkan jumlah elemen dalam dimensi tertentu tatasusunan.
GetLongLength(): Kaedah ini mengembalikan integer 64-bit, yang memberikan kita jumlah elemen dalam dimensi tertentu tatasusunan.
GetLowerBound(): Kaedah ini mendapatkan semula sempadan bawah dimensi tertentu tatasusunan, bermula pada indeks 0.
GetUpperBound(): Kaedah ini mendapatkan semula sempadan atas dimensi tatasusunan yang ditentukan, bermula pada indeks 0.
GetValue(): Kaedah ini mendapatkan semula nilai elemen tertentu dalam tatasusunan, bermula pada indeks 1.
Indeks(): Ini ialah kaedah perkongsian awam yang boleh dibebankan untuk mengembalikan indeks atau mengimbangi kejadian pertama nilai tertentu dalam tatasusunan satu dimensi.
IsFixedSize(): Kaedah ini memberitahu sama ada tatasusunan mempunyai saiz tetap atau tidak.
IsReadOnly(): Kaedah memberikan nilai yang menandakan jika tatasusunan adalah baca sahaja atau tidak.
LastIndexOf(): Ini ialah kaedah kongsi awam yang boleh dibebankan. Ia memberikan indeks kejadian terakhir nilai dalam tatasusunan satu dimensi.
Panjang(): Kaedah ini memberikan panjang tatasusunan. Ia adalah harta awam dan mengeluarkan nilai integer 32-bit.
LongLength(): Kaedah ini memberitahu elemen dalam semua dimensi tatasusunan. Ia mengembalikan nilai integer 64-bit.
Kedudukan(): Kaedah ini mengembalikan bilangan dimensi yang ada pada tatasusunan.
Ubah saiz(): Kaedah ini mengubah saiz tatasusunan kepada bilangan elemen yang ditentukan.
Songsang(): Kaedah ini boleh membalikkan susunan elemen dalam tatasusunan satu dimensi.
Isih(): Kaedah ini menyusun elemen dalam tatasusunan satu dimensi dalam tertib menaik atau menurun bergantung pada nilainya.
Contoh Kod
Kod di bawah memulakan tatasusunan integer dan menunjukkan pelbagai Sistem. Tatasusunan kaedah yang boleh digunakan dengan tatasusunan dalam C#. Output setiap kaedah dipaparkan secara berasingan pada konsol.
menggunakan Sistem ;Program kelas
{
statik batal Utama ( tali [ ] args )
{
// Memulakan tatasusunan integer
int [ ] nombor = { 1 , 2 , 3 , 4 , 5 } ;
// Kosongkan kandungan tatasusunan
Susunan. Jelas ( nombor , 0 , nombor. Panjang ) ;
Konsol. WriteLine ( 'Array selepas mengosongkan:' ) ;
untuk ( int i = 0 ; i < nombor. Panjang ; i ++ )
{
Konsol. tulis ( nombor [ i ] + ' ' ) ;
}
Konsol. WriteLine ( ) ;
// Salin kandungan tatasusunan lain ke dalam nombor
int [ ] numsCopy = { 7 , 8 , 9 } ;
Susunan. Salinan ( numsCopy , nombor , numsCopy. Panjang ) ;
Konsol. WriteLine ( 'Array selepas menyalin:' ) ;
untuk ( int i = 0 ; i < nombor. Panjang ; i ++ )
{
Konsol. tulis ( nombor [ i ] + ' ' ) ;
}
Konsol. WriteLine ( ) ;
// Dapatkan panjang dan panjang panjang tatasusunan
int panjang = nombor. GetLength ( 0 ) ;
panjang panjangPanjang = nombor. GetLongLength ( 0 ) ;
Konsol. WriteLine ( 'Panjang tatasusunan:' + panjang ) ;
Konsol. WriteLine ( 'Panjang tatasusunan:' + panjangPanjang ) ;
// Dapatkan sempadan bawah dan atas tatasusunan
int lowerBound = nombor. GetLowerBound ( 0 ) ;
int upperBound = nombor. GetUpperBound ( 0 ) ;
Konsol. WriteLine ( 'Sempadan bawah tatasusunan:' + lowerBound ) ;
Konsol. WriteLine ( 'Sempadan atas tatasusunan:' + upperBound ) ;
// Dapatkan nilai pada indeks tertentu dalam tatasusunan
int valueAtIndex = ( int ) nombor. GetValue ( 1 ) ;
Konsol. WriteLine ( 'Nilai pada indeks 1: ' + valueAtIndex ) ;
// Cari indeks nilai tertentu dalam tatasusunan
int indexOfValue = Susunan. Indeks ( nombor , 9 ) ;
Konsol. WriteLine ( 'Indeks nilai 9: ' + indexOfValue ) ;
// Semak sama ada tatasusunan adalah saiz tetap dan baca sahaja
bool isFixedSize = nombor. IsFixedSize ;
bool ialahReadSahaja = nombor. IsReadOnly ;
Konsol. WriteLine ( 'Adakah saiz tetap?' + isFixedSize ) ;
Konsol. WriteLine ( 'Adakah baca sahaja?' + isReadOnly ) ;
// Cari indeks terakhir nilai tertentu dalam tatasusunan
int lastIndexOfValue = Susunan. LastIndexOf ( nombor , 9 ) ;
Konsol. WriteLine ( 'Indeks terakhir nilai 9: ' + lastIndexOfValue ) ;
// Dapatkan panjang tatasusunan
int panjangLagi = nombor. Panjang ;
Konsol. WriteLine ( 'Panjang tatasusunan lagi: ' + panjangLagi ) ;
// Dapatkan pangkat tatasusunan
int pangkat = nombor. pangkat ;
Konsol. WriteLine ( 'Pangkat tatasusunan:' + pangkat ) ;
// Ubah saiz tatasusunan
Susunan. Ubah saiz ( nombor rujukan , 10 ) ;
// Balikkan kandungan tatasusunan
Susunan. terbalik ( nombor ) ;
Konsol. WriteLine ( 'Susun atur selepas diterbalikkan:' ) ;
untuk ( int i = 0 ; i < nombor. Panjang ; i ++ )
{
Konsol. tulis ( nombor [ i ] + ' ' ) ;
}
Konsol. WriteLine ( ) ;
// Isih kandungan tatasusunan
Susunan. Isih ( nombor ) ;
Konsol. WriteLine ( 'Array selepas mengisih:' ) ;
untuk ( int i = 0 ; i < nombor. Panjang ; i ++ )
{
Konsol. tulis ( nombor [ i ] + ' ' ) ;
}
}
}
Pengeluaran
Kesimpulan
Kelas System.Array dalam C# menyediakan asas untuk bekerja dengan tatasusunan semua jenis. Sama ada kita perlu mencipta tatasusunan satu dimensi yang mudah atau tatasusunan berbilang dimensi yang kompleks, kelas System.Array menyediakan kaedah yang berbeza untuk memanipulasi dan bekerja dengan data dengan berkesan. Untuk penerangan terperinci tentang System.Array dalam C# baca artikel.