Method adalah fungsi yang didefinisikan dalam sebuah class. C# mendukung fitur parameter yang kaya — argument opsional/bernama, modifier ref/out/in, array — dan (multiple method dengan nama yang sama namun parameter berbeda).
Method adalah fungsi yang didefinisikan dalam sebuah class. C# mendukung fitur parameter yang kaya — argument opsional/bernama, modifier ref/out/in, array — dan (multiple method dengan nama yang sama namun parameter berbeda).
paramspublic int Add(int a, int b) => a + b; // expression-bodied (concise)
public string Greet(string name, string greeting = "Hello") // default parameter
{
return $"{greeting}, {name}";
}
Greet("Ann"); // "Hello, Ann"
Greet("Ann", greeting: "Hi"); // named argument
Method menentukan tipe return, nama, dan parameter. Default parameter membuat argument opsional, dan named argument memungkinkan Anda melewatkan by name (lebih jelas, dapat melewati opsional).
// ref — pass by reference (method can modify the caller's variable)
void Increment(ref int x) { x++; }
int n = 5; Increment(ref n); // n is now 6
// out — for returning multiple values (must be assigned in the method)
bool TryParse(string s, out int result) { result = ...; return true; }
if (int.TryParse("42", out int value)) { } // the common TryX pattern
// in — pass by reference but READ-ONLY (performance for large structs)
void Process(in LargeStruct data) { }
out banyak digunakan dalam TryParse pattern (mengembalikan flag kesuksesan plus hasil dengan aman); ref memungkinkan memodifikasi variabel caller; in melewatkan struct besar secara efisien tanpa copying.
// params — variable number of arguments
int Sum(params int[] numbers) => numbers.Sum();
Sum(1, 2, 3, 4); // any number
// OVERLOADING — same name, different parameters
void Print(int x) { }
void Print(string s) { }
void Print(int x, int y) { }
Print(5); // calls the int version — resolved by argument types
Overloading memungkinkan multiple method berbagi nama, dibedakan oleh tipe/jumlah parameter — compiler memilih yang cocok. params menerima jumlah argument yang variabel.
Method adalah building block dari behavior di C#, dan memahami fitur parameter yang kaya penting untuk menulis code yang fleksibel dan ekspresif.
Mengetahui cara mendefinisikan method (termasuk syntax expression-bodied yang ringkas), menggunakan default dan named parameter (untuk argument opsional dan pemanggilan yang readable), dan menerapkan method overloading (nama sama, parameter berbeda — untuk API yang intuitif yang menangani tipe argument berbeda) adalah pengetahuan sehari-hari.
Parameter modifier sangat penting untuk dipahami: out banyak digunakan dalam TryParse pattern yang ubiquitous (int.TryParse(s, out var result) — secara aman mengembalikan flag kesuksesan dan hasil tanpa exception, pola C# yang umum dan idiomatis), ref memungkinkan memodifikasi variabel caller, dan in melewatkan struct besar by reference untuk performa.
Memahami ini — method, fitur parameter (opsional/bernama/params), overloading untuk API fleksibel, dan modifier ref/out/in (khususnya idiom TryParse berbasis out) — fundamental untuk menulis method C# dan menggunakan banyak API .NET yang mengandalkan fitur-fitur ini.
Karena method dan parameter mereka adalah central terhadap semua code C#, dan karena fitur seperti overloading, optional parameter, dan TryX pattern muncul terus-menerus, menguasai ini adalah core, must-know knowledge untuk C# development yang efektif.