C# Academy · Pelajaran

Nilai vs referensi; literal; inferensi var; const/readonly

Pelajari perbedaan tipe nilai dan tipe referensi, cara kerja literal dan akhiran numerik, kapan menggunakan var, serta peran const dan readonly.

Pelajaran 1 dari 38 langkah

Nilai vs referensi; literal; inferensi var; const/readonly 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.

Mengapa tipe penting

Tujuan: Pahami tipe nilai dan tipe referensi serta cara kerja variabel, nilai harfiah, dan konstanta dalam kode sehari-hari.

Nilai vs referensi

Tipe nilai: menyalin data saat penugasan (misalnya, int, bool, struktur). Tipe referensi: menyalin referensi (kelas, larik, teks).

  • Nilai: perubahan lokal lebih aman
  • Referensi: identitas objek yang digunakan bersama

Nilai harfiah & akhiran

Nilai harfiah memiliki tipe. Gunakan akhiran agar lebih jelas: f (pecahan), m (desimal), L (bilangan bulat panjang).

  • 3.14f → pecahan
  • 10m → desimal (uang)
  • 123L → bilangan bulat panjang

Inferensi var

var memungkinkan kompiler menyimpulkan tipe dari sisi kanan. Gunakan saat tipenya sudah jelas; jika tidak, tuliskan tipe secara eksplisit.

const vs readonly

const: konstanta saat kompilasi; readonly: ditetapkan di konstruktor atau saat deklarasi.

  • Gunakan const untuk nilai tetap (misalnya, Pi)
  • Gunakan readonly untuk nilai yang diketahui saat waktu proses

Tipe dalam praktik

Lihat perilaku nilai dan referensi, akhiran numerik, inferensi var sederhana, serta const/readonly dalam satu program kecil.

using System;

// Value type (struct) copies by value
public struct PointS
{
  public int X;
  public int Y;
}

// Reference type (class) copies the reference
public class PointC
{
  public int X;
  public int Y;
}

// Readonly demo class
public class Config
{
  public readonly string Name;
  public Config(string name)
  {
    Name = name; // can set here
  }
}

public class Program
{
  // Compile-time constant
  private const double Pi = 3.14159;

  public static void Main(string[] args)
  {
    // 1) Value vs reference
    PointS a = new PointS { X = 1, Y = 2 };
    PointS b = a;         // copy value
    b.X = 99;
    Console.WriteLine("Value struct a.X = " + a.X); // 1 (unchanged)
    Console.WriteLine("Value struct b.X = " + b.X); // 99

    PointC ac = new PointC { X = 1, Y = 2 };
    PointC bc = ac;       // copy reference
    bc.X = 77;
    Console.WriteLine("Ref class ac.X = " + ac.X);  // 77 (same object)
    Console.WriteLine("Ref class bc.X = " + bc.X);  // 77

    // 2) Literals & suffixes
    float f = 3.14f;
    decimal price = 10m;
    long big = 123L;
    Console.WriteLine("f=" + f + " price=" + price + " big=" + big);

    // 3) var inference (type is obvious)
    var sum = a.X + a.Y; // int
    Console.WriteLine("sum=" + sum);

    // 4) const vs readonly
    Config cfg = new Config("Demo");
    Console.WriteLine("Pi=" + Pi + " Name=" + cfg.Name);
  }
}

Definisi tipe nilai

Pemeriksaan cepat: Pernyataan mana yang paling tepat menjelaskan tipe nilai?

Ringkasan

Ringkasan: Tipe nilai menyalin data; tipe referensi menggunakan objek secara bersama. Gunakan akhiran untuk nilai numerik harfiah, var saat sudah jelas, dan pilih const atau readonly dengan tepat.

Gratis untuk memulai

Belajar C# dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
93
Pelajaran
346

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Nilai vs referensi; literal; inferensi var; const/readonly” gratis?

Ya — teks lengkap “Nilai vs referensi; literal; inferensi var; const/readonly” 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 “Nilai vs referensi; literal; inferensi var; const/readonly”?

Pelajari perbedaan tipe nilai dan tipe referensi, cara kerja literal dan akhiran numerik, kapan menggunakan var, serta peran const dan readonly. 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 “Nilai vs referensi; literal; inferensi var; const/readonly” 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. Nilai vs referensi; literal; inferensi var; const/readonly
  2. Operator dan ekspresi: aritmetika, perbandingan, logika
  3. Akhiran dalam praktik; casting vs konversi; pembuatan objek C# 6
← Kembali ke C# Academy