Bagaimana bekerja dengan Tuple di C #

Tuple bukanlah hal baru - mereka telah ada cukup lama sekarang dalam bahasa pemrograman seperti F #, Python, dll. Dan juga dalam database. Tupel dapat didefinisikan sebagai struktur data yang terdiri dari urutan terbatas, elemen heterogen yang tidak dapat diubah dan memiliki ukuran tetap. Elemen-elemen dalam Tuple tidak dapat diubah, yaitu, mereka berkaitan dengan tipe tertentu. Anda dapat memanfaatkan tupel untuk mengembalikan beberapa nilai dari sebuah metode dan juga membuat koleksi gabungan. Anda dapat memanfaatkan metode statis kelas System.Tuple untuk bekerja dengan tupel di .Net.

Apa itu Tuple?

Tupel adalah struktur data yang terdiri dari kumpulan elemen ā€œnā€ yang heterogen dan teratur - elemen dalam tupel bisa dari jenis yang sama atau bahkan dari jenis yang berbeda. Dalam Matematika, n-tupel dapat didefinisikan sebagai urutan atau sebagai daftar berurutan dari elemen "n". Perlu dicatat bahwa "n" di sini menunjukkan bilangan bulat positif. Lebih lanjut, hanya ada satu 0-tupel, yaitu urutan kosong.

Urutan elemen dalam Tuple ditentukan pada saat Tuple dibuat. Properti dalam Tuple semuanya hanya-baca, yaitu tidak dapat diubah setelah dibuat. Ukuran Tuple ditetapkan karena tidak dapat diubah setelah ditentukan pada saat Tuple dibuat.

Mengapa kita harus menggunakan Tuple?

Anda mungkin ingin menggunakan tupel untuk merepresentasikan sekumpulan data heterogen dan menyediakan cara mudah untuk mengakses data tersebut. Anda juga dapat memanfaatkan tupel untuk mengembalikan beberapa nilai dari sebuah metode atau bahkan meneruskan beberapa nilai ke sebuah metode. Saya menggunakan tupel untuk menggabungkan beberapa nilai (jika tidak terkait satu sama lain) menjadi satu tanpa perlu menggunakan kelas khusus. Perhatikan bahwa meskipun tipe anonim memiliki banyak kesamaan, Anda tidak bisa mengembalikan tipe anonim dari suatu metode.

Salah satu kendala utama dalam menggunakan tupel dalam kasus ini adalah Anda tidak dapat memiliki nama properti yang bermakna dalam Tuple - mereka akan dinamai sebagai Item1, Item2, Item3, dan seterusnya. Namun, seiring bertambahnya kode Anda yang menggunakan Tuple, ini akan menjadi tidak dapat dibaca dan sulit dipertahankan dari waktu ke waktu. Perlu juga dicatat bahwa Tuple adalah kelas dan bukan struct. Karenanya, instance Tuple selalu disimpan di heap terkelola. Ini bahkan mungkin menjadi tantangan kinerja untuk Anda jika contoh Tuple berukuran besar dan tidak dibersihkan dengan bijaksana. Berikut adalah bacaan menarik tentang Tuple di MSDN.

Pemrograman Tupel di C #

Untuk bekerja dengan tupel di C #, Anda perlu memanfaatkan kelas Tuple. Kelas Tuple bersifat statis dan menyediakan metode Buat statis yang dapat digunakan untuk membuat instance tupel. Secara kebetulan, metode Buat statis dari kelas Tuple berisi delapan beban berlebih yang menerima argumen umum. Berikut daftar metode Buat kelas ini yang kelebihan beban.

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Tuple.Create

Cuplikan kode berikut menunjukkan bagaimana Anda dapat membuat dan menginisialisasi Tuple.

var listEmployee = new List

{

                Tuple.Create(1, "Joydip Kanjilal", "INDIA"),

                Tuple.Create(2, "Michael Stevens", "USA" ),

                Tuple.Create(3, "Steve Barnes", "USA" )

};

Setelah Tuple Anda dibuat dan diinisialisasi, Anda dapat mengulanginya dengan cara yang sama seperti yang Anda lakukan dengan koleksi. Potongan kode berikut menunjukkan bagaimana ini dapat dicapai.

foreach(Tuple tuple in listEmployee)

           {

               Console.WriteLine(tuple.Item2);

           }

Dan, berikut daftar kode lengkap yang menggambarkan bagaimana Anda dapat membuat, menginisialisasi dan kemudian mengulang Tuple di C #.

static void Main(string[] args)

       {

           var listEmployee = new List

           {

               Tuple.Create(1, "Joydip Kanjilal", "INDIA"),

               Tuple.Create(2, "Michael Stevens", "USA" ),

               Tuple.Create(3, "Steve Barnes", "USA" )

           };

           foreach(Tuple tuple in listEmployee)

           {

               Console.WriteLine(tuple.Item2);

           }

           Console.Read();

       }

Anda juga dapat membuat tupel bersarang. Cuplikan kode berikut menggambarkan bagaimana Anda dapat melakukan ini.

var tuple = Tuple.Create(1,"Joydip Kanjilal",new Tuple("Hyderabad","India"));