Bahasa C
Sebuah pengindeks memungkinkan objek untuk diindeks seperti array. Saat Anda mendefinisikan pengindeks untuk suatu kelas, kelas ini berperilaku mirip dengan array virtual . Anda kemudian dapat mengakses instance kelas ini menggunakan operator akses array ([ ]).
Pengindeks satu dimensi memiliki sintaks berikut −
element-type this[int index] { // The get accessor. get { // return the value specified by index } // The set accessor. set { // set the value specified by index } }
Deklarasi perilaku pengindeks sampai batas tertentu mirip dengan properti. mirip dengan properti, Anda menggunakan get dan setel pengakses untuk mendefinisikan pengindeks. Namun, properti mengembalikan atau menetapkan anggota data tertentu, sedangkan pengindeks mengembalikan atau menetapkan nilai tertentu dari instance objek. Dengan kata lain, ini memecah data instance menjadi bagian-bagian yang lebih kecil dan mengindeks setiap bagian, mendapatkan atau menetapkan setiap bagian.
Mendefinisikan properti melibatkan pemberian nama properti. Pengindeks tidak didefinisikan dengan nama, tetapi dengan ini kata kunci, yang mengacu pada instance objek. Contoh berikut menunjukkan konsep
Demo Langsungusing System; namespace IndexerApplication { class IndexedNames { private string[] namelist = new string[size]; static public int size = 10; public IndexedNames() { for (int i = 0; i < size; i++) namelist[i] = "N. A."; } public string this[int index] { get { string tmp; if( index >= 0 && index <= size-1 ) { tmp = namelist[index]; } else { tmp = ""; } return ( tmp ); } set { if( index >= 0 && index <= size-1 ) { namelist[index] = value; } } } static void Main(string[] args) { IndexedNames names = new IndexedNames(); names[0] = "Zara"; names[1] = "Riz"; names[2] = "Nuha"; names[3] = "Asif"; names[4] = "Davinder"; names[5] = "Sunil"; names[6] = "Rubic"; for ( int i = 0; i < IndexedNames.size; i++ ) { Console.WriteLine(names[i]); } Console.ReadKey(); } } }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
Zara Riz Nuha Asif Davinder Sunil Rubic N. A. N. A. N. A.
Pengindeks dapat kelebihan beban. Pengindeks juga dapat dideklarasikan dengan beberapa parameter dan setiap parameter mungkin memiliki tipe yang berbeda. Indeks tidak harus berupa bilangan bulat. C# memungkinkan indeks menjadi tipe lain, misalnya, string.
Contoh berikut menunjukkan pengindeks kelebihan beban −
Demo Langsungusing System; namespace IndexerApplication { class IndexedNames { private string[] namelist = new string[size]; static public int size = 10; public IndexedNames() { for (int i = 0; i < size; i++) { namelist[i] = "N. A."; } } public string this[int index] { get { string tmp; if( index >= 0 && index <= size-1 ) { tmp = namelist[index]; } else { tmp = ""; } return ( tmp ); } set { if( index >= 0 && index <= size-1 ) { namelist[index] = value; } } } public int this[string name] { get { int index = 0; while(index < size) { if (namelist[index] == name) { return index; } index++; } return index; } } static void Main(string[] args) { IndexedNames names = new IndexedNames(); names[0] = "Zara"; names[1] = "Riz"; names[2] = "Nuha"; names[3] = "Asif"; names[4] = "Davinder"; names[5] = "Sunil"; names[6] = "Rubic"; //using the first indexer with int parameter for (int i = 0; i < IndexedNames.size; i++) { Console.WriteLine(names[i]); } //using the second indexer with the string parameter Console.WriteLine(names["Nuha"]); Console.ReadKey(); } } }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut
Zara Riz Nuha Asif Davinder Sunil Rubic N. A. N. A. N. A. 2
Bahasa C
C# untuk loop Pada artikel ini, kita akan belajar tentang for loop dalam C# dan berbagai cara menggunakannya dalam sebuah program. Dalam pemrograman, seringkali diinginkan untuk mengeksekusi blok pernyataan tertentu untuk beberapa kali tertentu. Solusi yang mungkin adalah mengetikkan pernyataan-pe
C# Array Multidimensi Dalam tutorial ini, kita akan belajar tentang array multidimensi dalam C# menggunakan contoh array dua dimensi. Sebelum kita mempelajari tentang array multidimensi, pastikan untuk mengetahui tentang array satu dimensi di C#. Dalam array multidimensi, setiap elemen array juga
C# foreach loop Dalam artikel ini, kita akan belajar tentang foreach loop (alternatif untuk for loop) dan cara menggunakannya dengan array dan koleksi. C# menyediakan alternatif yang mudah digunakan dan lebih mudah dibaca untuk loop for, loop foreach saat bekerja dengan array dan koleksi untuk ber
Metode C# Dalam tutorial ini, kita akan belajar tentang metode C# dengan bantuan contoh. Metode adalah blok kode yang melakukan tugas tertentu. Misalkan Anda perlu membuat program untuk membuat lingkaran dan mewarnainya. Anda dapat membuat dua metode untuk menyelesaikan masalah ini: cara menggamb