Pengantar Fungsi di C #

Di C #, fungsi adalah cara mengemas kode yang melakukan sesuatu dan kemudian mengembalikan nilainya. Tidak seperti di C, C ++ dan beberapa bahasa lain, fungsi tidak ada sendiri. Mereka adalah bagian dari Berorientasi pada objek pendekatan pemrograman.

Program untuk mengelola spreadsheet mungkin menyertakan fungsi jumlah () sebagai bagian dari objek, misalnya.

Dalam C #, suatu fungsi bisa disebut fungsi anggota — itu adalah anggota kelas — tetapi terminologi itu masih tersisa dari C ++. Nama yang biasa untuk itu adalah metode.

Metode Instance

Ada dua jenis metode: metode instan dan metode statis. Pendahuluan ini mencakup metode instance.

Contoh di bawah ini mendefinisikan kelas sederhana dan menyebutnya Uji. Contoh ini adalah program konsol sederhana, jadi ini diizinkan. Biasanya, kelas pertama yang didefinisikan dalam file C # harus kelas bentuk.

Dimungkinkan untuk memiliki kelas kosong seperti ini Tes kelas {}, tapi itu tidak berguna. Meskipun terlihat kosong, ia — seperti semua kelas C # — mewarisi dari Objek yang memuatnya dan menyertakan default konstruktor dalam program utama.

instagram viewer
var t = Tes baru ();

Kode ini berfungsi, tetapi tidak akan melakukan apa pun ketika dijalankan kecuali membuat instance t dari kelas tes kosong. Kode di bawah ini menambahkan fungsi, metode yang menghasilkan kata "Halo."

menggunakan Sistem;
namespace funcex1
{
Tes kelas
{
kekosongan umum SayHello ()
{
Menghibur. WriteLine ("Halo");
}
}
Program kelas
{
static void Main (string [] args)
{
var t = Tes baru ();
t. Katakan halo() ;
Menghibur. Kunci Baca() ;
}
}
}

Contoh kode ini termasuk Menghibur. Kunci Baca(), jadi saat dijalankan, ini akan menampilkan jendela konsol dan menunggu entri kunci seperti Enter, Space atau Return (bukan tombol shift, Alt atau Ctrl). Tanpa itu, itu akan membuka Window konsol, output "Halo" dan kemudian tutup semua dalam sekejap mata.

Fungsinya Katakan halo adalah tentang fungsi sesederhana yang Anda bisa miliki. Ini adalah fungsi publik, yang berarti fungsi tersebut terlihat dari luar kelas.

Jika Anda menghapus kata publik dan coba menyusun kode, gagal dengan kesalahan kompilasi "funcex1.test. SayHello () 'tidak dapat diakses karena tingkat perlindungannya. "Jika Anda menambahkan kata" pribadi "di mana kata publik berada dan mengkompilasi ulang, Anda mendapatkan kesalahan kompilasi yang sama. Ubah saja kembali ke "publik."

Kata kosong dalam fungsi berarti bahwa fungsi tidak mengembalikan nilai apa pun.

Karakteristik Definisi Fungsi Khas

  • Tingkat akses: publik, pribadi plus yang lain
  • Nilai pengembalian>: batal atau jenis apa pun seperti int
  • Nama Metode: SayHello
  • Parameter metode apa pun: tidak ada untuk saat ini. Ini didefinisikan dalam tanda kurung () setelah nama metode

Kode untuk definisi fungsi lain, MyAge (), adalah:

public int MyAge ()
{
kembali 53;
}

Tambahkan itu tepat setelah Katakan halo() metode pada contoh pertama dan tambahkan dua baris ini sebelumnya Menghibur. Kunci Baca().

var age = t. Usia saya();
Menghibur. WriteLine ("David berusia {0} tahun", umur);

Menjalankan program sekarang menampilkan ini:

Halo
David berusia 53 tahun,

Itu var age = t. Usia saya(); panggilan ke metode mengembalikan nilai 53. Ini bukan fungsi yang paling berguna. Contoh yang lebih berguna adalah fungsi Sum spreadsheet dengan array int, indeks awal dan jumlah nilai yang dijumlahkan.

Ini fungsinya:

Nilai float publik (int [], int startindex, int endindex)
{
var total = 0;
untuk (var index = startindex; indeks <= endindex; indeks ++)
{
total + = nilai [indeks];
}
total pengembalian;
}

Berikut adalah tiga kasus penggunaan. Ini adalah kode yang akan ditambahkan di Main () dan panggilan untuk menguji fungsi Sum.

nilai var = int baru [10] {1, 2, 3, 4, 5, 6, 7, 8, 9,10};
Menghibur. WriteLine (t. Jumlah (nilai, 0,2)); // Harus 6
Menghibur. WriteLine (t. Jumlah (nilai, 0,9)); // seharusnya 55
Menghibur. WriteLine (t. Jumlah (nilai, 9,9)); // harus 10 karena nilai 9 adalah 10

Untuk lingkaran menjumlahkan nilai dalam rentang startindex ke endindex, jadi untuk startindex = 0 dan endindex = 2, ini adalah jumlah dari 1 + 2 + 3 = 6. Sedangkan untuk 9,9, itu hanya menambah satu nilai [9] = 10.

Dalam fungsi, total variabel lokal diinisialisasi ke 0 dan kemudian memiliki bagian yang relevan dari nilai array yang ditambahkan.