C# Academy · Pelajaran

Tipe Range dan Operator ..

Ambil irisan dengan ekspresi range.

Pelajaran 2 dari 413 langkah

Tipe Range dan Operator .. adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.

Mengenal Tipe Range

System.Range mendeskripsikan irisan suatu urutan menggunakan Index sebagai awal dan akhir. Tipe ini sangat cocok dipadukan dengan operator rentang .. untuk menyatakan suburutan.

using System;

Range r = 1..3;
Console.WriteLine(r.Start + ".." + r.End); // 1..3

Operator .. (rentang)

Operator rentang a..b membentuk sebuah Range dari indeks a (inklusif) hingga indeks b (eksklusif). Jadi, 1..3 mencakup posisi 1 dan 2.

using System;

int[] data = { 10, 20, 30, 40, 50 };
int[] slice = data[1..3];
Console.WriteLine(string.Join(",", slice)); // 20,30

Awal Inklusif, Akhir Eksklusif

Akhir yang eksklusif meniru cara kerja perulangan for: jumlah elemen sama dengan end - start. Rentang 2..5 menghasilkan tiga elemen.

using System;

int[] data = { 0, 1, 2, 3, 4, 5, 6 };
int[] slice = data[2..5];
Console.WriteLine(slice.Length);          // 3
Console.WriteLine(string.Join(",", slice)); // 2,3,4

Rentang dengan Batas Terbuka

Anda dapat menghilangkan salah satu batas. ..3 berarti "dari awal hingga 3", sedangkan 2.. berarti "dari 2 hingga akhir". .. saja menyalin seluruh urutan.

using System;

int[] d = { 10, 20, 30, 40, 50 };
Console.WriteLine(string.Join(",", d[..3])); // 10,20,30
Console.WriteLine(string.Join(",", d[2..])); // 30,40,50
Console.WriteLine(string.Join(",", d[..]));  // 10,20,30,40,50

Rentang dengan Index dari Akhir

Gabungkan .. dengan ^ untuk mengiris secara relatif terhadap akhir. ^2.. berarti "dua elemen terakhir".

using System;

int[] d = { 1, 2, 3, 4, 5 };
Console.WriteLine(string.Join(",", d[^2..]));  // 4,5
Console.WriteLine(string.Join(",", d[..^1]));  // 1,2,3,4 (drop last)

Range sebagai Nilai yang Disimpan

Sebuah Range adalah nilai yang dapat Anda beri nama dan gunakan kembali pada berbagai koleksi yang mengikuti konvensi panjang yang sama.

using System;

Range middle = 1..^1; // drop first and last
int[] a = { 0, 1, 2, 3, 4 };
Console.WriteLine(string.Join(",", a[middle])); // 1,2,3

Range.GetOffsetAndLength

Untuk menentukan rentang berdasarkan panjang konkret, panggil GetOffsetAndLength(length). Metode ini mengembalikan ofset awal dan panjang irisan, serta menangani indeks dari akhir untuk Anda.

using System;

Range r = ^3..^1;
var (offset, length) = r.GetOffsetAndLength(5);
Console.WriteLine(offset + " " + length); // 2 2

Range.All

Range.All statis sama dengan .. dan memilih seluruh urutan. Fitur ini berguna saat meneruskan rentang sebagai argumen.

using System;

Range whole = Range.All;
int[] d = { 9, 8, 7 };
Console.WriteLine(string.Join(",", d[whole])); // 9,8,7

Membuat Range secara Eksplisit

Selain menggunakan operator, Anda dapat memanggil konstruktor atau metode pabrik Range.StartAt dan Range.EndAt agar maksudnya lebih jelas.

using System;

Range a = new Range(1, 3);
Range b = Range.StartAt(2);
Range c = Range.EndAt(2);
Console.WriteLine(a + " | " + b + " | " + c);

Rentang Kosong dan Tidak Valid

Rentang yang awalnya sama dengan akhirnya menghasilkan irisan kosong. Rentang yang awalnya berada setelah akhirnya (setelah ditentukan) akan melempar pengecualian saat pengirisan dilakukan.

using System;

int[] d = { 1, 2, 3, 4 };
Console.WriteLine(d[2..2].Length); // 0 (empty)
try { var _ = d[3..1]; }
catch (ArgumentOutOfRangeException) { Console.WriteLine("invalid range"); }

Menggabungkan Semuanya

Rentang membuat pemrosesan teks dan larik menjadi ringkas. Di sini, kita mengambil jendela di tengah larik tanpa aritmetika indeks.

using System;

int[] readings = { 5, 7, 9, 11, 13, 15 };
int[] window = readings[1..^1];
Console.WriteLine(string.Join(",", window)); // 7,9,11,13

Pemeriksaan Singkat

Pastikan Anda memahami semantik operator rentang.

Ringkasan

Anda telah mempelajari bahwa System.Range mendeskripsikan irisan dengan operator ...

  • Awal bersifat inklusif, sedangkan akhir eksklusif: jumlah = akhir - awal.
  • Batas bersifat opsional: ..3, 2.., ...
  • .. dapat digabungkan dengan ^ untuk mengiris dari akhir.
  • GetOffsetAndLength(length) menentukan rentang menjadi angka konkret.
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 “Tipe Range dan Operator ..” gratis?

Ya — teks lengkap “Tipe Range dan Operator ..” 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 “Tipe Range dan Operator ..”?

Ambil irisan dengan ekspresi range. 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 2 dari 4.

Berapa lama pelajaran “Tipe Range dan Operator ..” 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. Tipe Index dan Operator ^
  2. Tipe Range dan Operator ..
  3. Range dengan Array dan String
  4. Tipe Kustom yang Mendukung Range
← Kembali ke C# Academy