Sintaks Ekspresi Koleksi
Inisialisasikan array, daftar, dan span secara seragam.
Sintaks Ekspresi Koleksi adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.
Ekspresi Koleksi (C# 12)
C# 12 memperkenalkan ekspresi koleksi: satu sintaks tanda kurung siku untuk membuat larik, daftar, span, dan lainnya. Alih-alih new int[] { 1, 2, 3 }, Anda cukup menulis [1, 2, 3].
using System;
int[] numbers = [1, 2, 3, 4, 5];
Console.WriteLine(string.Join(",", numbers)); // 1,2,3,4,5Satu Sintaks, Banyak Tipe Tujuan
Literal [...] yang sama dapat digunakan baik saat tipe tujuannya adalah larik, List<T>, maupun Span<T>. Kompilator memilih cara pembuatan yang tepat.
using System;
using System.Collections.Generic;
int[] arr = [1, 2, 3];
List<int> list = [4, 5, 6];
Span<int> span = [7, 8, 9];
Console.WriteLine(arr.Length + " " + list.Count + " " + span.Length);Koleksi Kosong
Ekspresi koleksi kosong cukup ditulis sebagai []. Bentuk ini lebih jelas daripada Array.Empty<T>() atau new List<T>(), dan tipe tujuannya ditentukan secara otomatis.
using System;
using System.Collections.Generic;
int[] empty = [];
List<string> names = [];
Console.WriteLine(empty.Length + " " + names.Count); // 0 0Menggantikan Penginisialisasi yang Bertele-tele
Ekspresi koleksi menghilangkan kerumitan sintaks penginisialisasi lama. Bandingkan kedua bentuk berikut.
using System;
using System.Collections.Generic;
// old
List<int> oldWay = new List<int> { 1, 2, 3 };
// new
List<int> newWay = [1, 2, 3];
Console.WriteLine(oldWay.Count == newWay.Count); // TrueKoleksi Bertingkat
Anda dapat menyusun ekspresi koleksi secara bertingkat untuk membuat jajaran array atau daftar yang berisi daftar.
using System;
int[][] grid = [[1, 2], [3, 4], [5, 6]];
Console.WriteLine(grid[1][0]); // 3Ekspresi sebagai Elemen
Elemen dapat berupa ekspresi apa pun, termasuk variabel, pemanggilan metode, dan operasi aritmetika.
using System;
int x = 10;
int[] values = [x, x * 2, x + 5, Math.Abs(-3)];
Console.WriteLine(string.Join(",", values)); // 10,20,15,3Catatan tentang Dimensi Banyak
Ekspresi koleksi membuat array bergerigi (int[][]), bukan array persegi panjang (int[,]). Array persegi panjang tetap menggunakan sintaksnya sendiri.
using System;
int[][] jagged = [[1, 2, 3], [4, 5]];
Console.WriteLine(jagged[0].Length + " " + jagged[1].Length); // 3 2Bekerja dengan Span
Karena ekspresi koleksi dapat menargetkan Span<T> dan ReadOnlySpan<T>, kompilator dapat menggunakan alokasi tumpukan sehingga tidak menghasilkan sampah heap untuk data berumur singkat.
using System;
ReadOnlySpan<int> stackData = [1, 2, 3, 4];
int total = 0;
foreach (int n in stackData) total += n;
Console.WriteLine(total); // 10Meneruskan Koleksi ke Metode
Jika tipe parameter berupa koleksi, Anda dapat langsung meneruskan ekspresi koleksi saat memanggil metode.
using System;
static int Sum(int[] xs) {
int t = 0;
foreach (int x in xs) t += x;
return t;
}
Console.WriteLine(Sum([2, 4, 6])); // 12Keunggulan Keterbacaan
Ekspresi koleksi sangat berguna dalam kode yang banyak memproses data, seperti tabel konfigurasi atau perlengkapan pengujian, karena tanda kurung siku membuat perhatian tetap tertuju pada nilainya.
using System;
string[] days = ["Mon", "Tue", "Wed", "Thu", "Fri"];
Console.WriteLine(days[^1]); // FriMengembalikan Koleksi
Metode dapat mengembalikan ekspresi koleksi, dengan tipe pengembalian yang mengarahkan pembuatannya.
using System;
static int[] Primes() => [2, 3, 5, 7, 11];
Console.WriteLine(string.Join(",", Primes())); // 2,3,5,7,11Pemeriksaan Singkat
Periksa pemahaman Anda tentang dasar-dasar ekspresi koleksi.
Rangkuman
Anda telah mempelajari sintaks ekspresi koleksi C# 12.
[1, 2, 3]menggantikan penginisialisasi yang bertele-tele.[]adalah koleksi kosong.- Tipe ekspresi ditentukan oleh konteks: array, daftar, dan rentang semuanya dapat digunakan.
- Tanda kurung siku bertingkat membuat array bergerigi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Sintaks Ekspresi Koleksi” gratis?
Ya — teks lengkap “Sintaks Ekspresi 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 “Sintaks Ekspresi Koleksi”?
Inisialisasikan array, daftar, dan span secara seragam. 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 4.
Berapa lama pelajaran “Sintaks Ekspresi 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
- Sintaks Ekspresi Koleksi
- Elemen Spread
- Pengetikan Koleksi Berdasarkan Target
- Pembuat Koleksi