0Pricing
C# Academy · Pelajaran

Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading

Definisikan signatur metode dan nilai kembalian, gunakan metode berbadan-ekspresi, parameter opsional/bernama, ref/out, serta pahami overloading. Catatan: tidak ada fungsi lokal di C# 6.

Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 3 pelajaran total.

Dasar-dasar metode

Tujuan: Tentukan metode yang bersih: signatur (nama, parameter, tipe hasil), isi yang ringkas, dan perilaku yang dapat diprediksi.

  • Nilai hasil
  • Metode berbentuk ekspresi
  • Parameter opsional/bernama

Signatur & hasil

Sebuah metode memiliki nama, parameter, dan tipe hasil. Gunakan nama yang jelas dan terfokus.

using System;

public class MathUtil
{
  // Signature: name Add, parameters (int a, int b), return int
  public static int Add(int a, int b)
  {
    return a + b;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int s = MathUtil.Add(2, 3);
    Console.WriteLine("Sum = " + s);
  }
}

Metode berbentuk ekspresi

Metode berbentuk ekspresi menggunakan => untuk helpers kecil yang jelas.

using System;

public static class FormatUtil
{
  // Expression-bodied method (C# 6): concise one-liner
  public static string Greet(string name) => "Hello, " + name + "!";
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine(FormatUtil.Greet("Ada"));
  }
}

Opsional & bernama

Gunakan parameter opsional untuk nilai bawaan yang wajar dan argumen bernama agar pemanggilan metode lebih jelas.

using System;

public static class Logger
{
  // Optional parameter: times has a default
  public static void Log(string message, int times = 1)
  {
    for (int i = 0; i < times; i = i + 1)
    {
      Console.WriteLine(message);
    }
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Logger.Log("One time");                 // uses default
    Logger.Log(message: "Twice", times: 2); // named arguments
  }
}

Dasar-dasar ref & out

ref: variabel harus diberi nilai sebelum pemanggilan. out: metode harus memberi nilai sebelum mengembalikan hasil.

using System;

public static class RefOutDemo
{
  public static void Increment(ref int x)
  {
    x = x + 1; // modifies caller's variable
  }

  public static bool TryDivide(int a, int b, out int result)
  {
    if (b == 0)
    {
      result = 0;       // out must be assigned before return
      return false;
    }
    result = a / b;
    return true;
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    int n = 10;
    RefOutDemo.Increment(ref n);
    Console.WriteLine("n = " + n); // 11

    int r;
    bool ok = RefOutDemo.TryDivide(9, 0, out r);
    Console.WriteLine("ok=" + ok + " r=" + r);
  }
}

Overloading & catatan

Pembebanan berlebih menggunakan kembali satu nama untuk operasi yang berkaitan. Catatan: fungsi lokal tersedia pada versi C# yang lebih baru; di C# 6 gunakan helpers privat kecil.

using System;

public static class Calc
{
  // Overloads: same name, different parameter lists
  public static int Area(int side) { return side * side; }
  public static int Area(int width, int height) { return width * height; }

  // C# 6 has no local functions; use private helpers instead.
  private static int DoubleIt(int x) { return x + x; }

  public static int TwiceArea(int side)
  {
    int a = Area(side);
    return DoubleIt(a);
  }
}

public class Program
{
  public static void Main(string[] args)
  {
    Console.WriteLine("Area square 3 = " + Calc.Area(3));
    Console.WriteLine("Area rect 3x4 = " + Calc.Area(3, 4));
    Console.WriteLine("Twice area of 3 = " + Calc.TwiceArea(3));
  }
}

Aturan ref vs out

Pemeriksaan cepat: Pernyataan mana tentang parameter ref dan out yang benar di C#?

Ringkasan

Ringkasan: Rancang signatur, nilai hasil, dan helpers kecil berbentuk ekspresi yang jelas; gunakan parameter opsional/bernama agar mudah dibaca; pahami perbedaan ref dan out; lakukan pembebanan berlebih dengan hati-hati. Fungsi lokal tersedia pada C# versi yang lebih baru—gunakan helpers privat di C# 6.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading” gratis?

Ya — teks lengkap “Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 3 pelajaran total.

Apa yang akan aku pelajari di “Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading”?

Definisikan signatur metode dan nilai kembalian, gunakan metode berbadan-ekspresi, parameter opsional/bernama, ref/out, serta pahami overloading. Catatan: tidak ada fungsi lokal di C# 6. Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C# Academy?

Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 3.

Berapa lama pelajaran “Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?

Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Signatur, nilai kembalian; berbadan-ekspresi; opsional/bernama; ref/out; overloading
  2. Parameter opsional/bernama; ref/out/in (dasar)
  3. Fungsi lokal (catatan C# 6) dan overloading
← Kembali ke C# Academy