0Pricing
C# Academy · Pelajaran

Inisialisasi Objek dan Koleksi

Atur properti secara ringkas saat objek dibuat.

Inisialisasi Objek dan Koleksi adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. 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 4 pelajaran total.

Apa Itu Penginisialisasi Objek?

Penginisialisasi objek menetapkan properti atau atribut publik tepat setelah new, di dalam { }, tanpa perlu menulis konstruktor untuk setiap kombinasi.

using System;

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        var p = new Person { Name = "Ada", Age = 36 };
        Console.WriteLine(p.Name + ", " + p.Age);
    }
}

Sintaks Penginisialisasi

Tuliskan penetapan properti yang dipisahkan koma di dalam kurung kurawal. Penetapan tersebut dijalankan setelah konstruktor selesai.

using System;

class Car
{
    public string Make { get; set; }
    public string Model { get; set; }
    public int Year { get; set; }
}

class Program
{
    static void Main()
    {
        var car = new Car
        {
            Make = "Toyota",
            Model = "Corolla",
            Year = 2022
        };
        Console.WriteLine(car.Year + " " + car.Make + " " + car.Model);
    }
}

Menggabungkan Konstruktor dan Penginisialisasi

Anda dapat memanggil konstruktor AND menggunakan penginisialisasi. Konstruktor dijalankan terlebih dahulu, kemudian penginisialisasi menetapkan properti yang tercantum.

using System;

class Widget
{
    public string Id { get; }
    public string Label { get; set; }

    public Widget(string id) { Id = id; }
}

class Program
{
    static void Main()
    {
        var w = new Widget("w1") { Label = "Submit" };
        Console.WriteLine(w.Id + ": " + w.Label);
    }
}

Menginisialisasi Hanya Beberapa Properti

Anda hanya perlu mencantumkan properti yang diperlukan; properti lainnya tetap menggunakan nilai bawaannya. Hal ini membuat penginisialisasi menjadi fleksibel.

using System;

class Settings
{
    public bool DarkMode { get; set; } = false;
    public int Volume { get; set; } = 50;
    public string Lang { get; set; } = "en";
}

class Program
{
    static void Main()
    {
        var s = new Settings { DarkMode = true };
        Console.WriteLine(s.DarkMode + ", " + s.Volume + ", " + s.Lang);
    }
}

Penginisialisasi Koleksi

Penginisialisasi koleksi mengisi daftar, himpunan, atau larik saat pembuatan menggunakan { } dengan elemen yang dipisahkan koma.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var nums = new List<int> { 1, 2, 3, 4, 5 };
        Console.WriteLine("Count: " + nums.Count);
        Console.WriteLine("Sum: " + Sum(nums));
    }

    static int Sum(List<int> list)
    {
        int t = 0;
        foreach (var n in list) t += n;
        return t;
    }
}

Cara Kerja Penginisialisasi Koleksi

Kompilator mengubah setiap elemen menjadi pemanggilan Add(...). Tipe apa pun yang memiliki metode Add dan IEnumerable mendukung sintaks ini.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var names = new List<string> { "Ann", "Bob", "Cara" };
        foreach (var n in names)
            Console.WriteLine(n);
    }
}

Penginisialisasi Kamus

Kamus dapat diinisialisasi dengan pasangan kunci/nilai di dalam kurung kurawal, yang sangat praktis untuk tabel pencarian.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var ages = new Dictionary<string, int>
        {
            ["Ann"] = 30,
            ["Bob"] = 25
        };
        Console.WriteLine("Ann is " + ages["Ann"]);
    }
}

Penginisialisasi Objek Bersarang

Penginisialisasi objek dapat menginisialisasi objek bersarang, sehingga Anda dapat membangun struktur objek kecil dalam satu ekspresi.

using System;

class Address
{
    public string City { get; set; }
}

class Customer
{
    public string Name { get; set; }
    public Address Home { get; set; } = new Address();
}

class Program
{
    static void Main()
    {
        var c = new Customer
        {
            Name = "Lin",
            Home = new Address { City = "Tokyo" }
        };
        Console.WriteLine(c.Name + " in " + c.Home.City);
    }
}

Koleksi Objek

Gabungkan kedua fitur tersebut: inisialisasi daftar yang elemennya sendiri dibuat menggunakan penginisialisasi objek.

using System;
using System.Collections.Generic;

class Item
{
    public string Name { get; set; }
    public decimal Price { get; set; }
}

class Program
{
    static void Main()
    {
        var cart = new List<Item>
        {
            new Item { Name = "Pen", Price = 1.5m },
            new Item { Name = "Book", Price = 9.0m }
        };
        decimal total = 0;
        foreach (var i in cart) total += i.Price;
        Console.WriteLine("Total: " + total);
    }
}

Penginisialisasi dan Properti init

Penginisialisasi objek merupakan cara untuk menetapkan properti yang hanya dapat diatur dengan init, karena properti tersebut hanya dapat ditetapkan selama inisialisasi.

using System;

class Config
{
    public string Env { get; init; }
    public int Retries { get; init; }
}

class Program
{
    static void Main()
    {
        var c = new Config { Env = "prod", Retries = 3 };
        Console.WriteLine(c.Env + " / " + c.Retries);
    }
}

Menyatukannya

Penginisialisasi membuat pembuatan objek menjadi deklaratif dan mudah dibaca, terutama untuk objek konfigurasi dan data pengujian.

using System;
using System.Collections.Generic;

class Team
{
    public string Name { get; set; }
    public List<string> Members { get; set; } = new List<string>();
}

class Program
{
    static void Main()
    {
        var t = new Team
        {
            Name = "Alpha",
            Members = { "Ann", "Bob", "Cara" }
        };
        Console.WriteLine(t.Name + " has " + t.Members.Count + " members");
    }
}

Pemeriksaan Singkat

Uji pemahaman Anda tentang penginisialisasi.

Ringkasan

Penginisialisasi objek menetapkan anggota publik di dalam { } setelah new, dan dijalankan setelah konstruktor. Penginisialisasi koleksi menambahkan elemen melalui pemanggilan Add implisit, sedangkan kamus mendukung pasangan kunci/nilai. Keduanya dapat bersarang, bekerja dengan properti init, dan membuat pembuatan objek menjadi ringkas serta deklaratif.

using System;
using System.Collections.Generic;

class Demo
{
    public string Name { get; set; }
    public List<int> Nums { get; set; } = new List<int>();
}

class Program
{
    static void Main()
    {
        var d = new Demo { Name = "x", Nums = { 1, 2, 3 } };
        Console.WriteLine(d.Name + " " + d.Nums.Count);
    }
}

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Inisialisasi Objek dan Koleksi” gratis?

Ya — teks lengkap “Inisialisasi Objek dan Koleksi” 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 4 pelajaran total.

Apa yang akan aku pelajari di “Inisialisasi Objek dan Koleksi”?

Atur properti secara ringkas saat objek dibuat. 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 3 dari 4.

Berapa lama pelajaran “Inisialisasi Objek dan Koleksi” 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. Mendefinisikan Konstruktor
  2. Rangkaian Konstruktor dengan this
  3. Inisialisasi Objek dan Koleksi
  4. Konstruktor Statis
← Kembali ke C# Academy