List, foreach, dan method
Kelola kumpulan nilai dan pecah logika menjadi method.
Pahami konsepnya
Array berukuran tetap; List<T> tumbuh sesuai kebutuhan — tambah dengan Add, lepas dengan Remove, dan hitung isinya lewat Count. Huruf T adalah tipe isinya: List<int> untuk angka, List<string> untuk teks. Menyusurinya paling enak dengan foreach: untuk tiap elemen, jalankan blok — tanpa indeks, tanpa risiko meleset batas.
Nilai terkumpul menjadi hidup lewat operasi ringkasan: total (akumulator di foreach), rata-rata (total dibagi Count), nilai terbesar dan terkecil (jaga sementara di variabel penampung, perbarui tiap elemen). Tiga pola ini menuntaskan mayoritas laporan data harian.
Saat program membesar, method menjadi lantai penyusunnya: satu method mengumpulkan input (loop + Add), satu menghitung ringkasan (loop + akumulator), satu mencetak laporan. Main menyerhana menjadi daftar panggilan yang terbaca seperti daftar isi — inilah cara kode besar tetap terkelola: potongan kecil bernama, masing-masing satu tugas.
Coba contoh kode
using System;
using System.Collections.Generic;
class Program
{
static int Terbesar(List<int> data)
{
int maks = data[0];
foreach (int n in data)
if (n > maks) maks = n;
return maks;
}
static double Rata(List<int> data)
{
double total = 0;
foreach (int n in data) total += n;
return total / data.Count;
}
static void Main()
{
List<int> nilai = new List<int> { 80, 90, 75, 95, 68 };
foreach (int n in nilai) Console.WriteLine($"Nilai: {n}");
Console.WriteLine($"Terbesar: {Terbesar(nilai)}");
Console.WriteLine($"Rata-rata: {Rata(nilai):F2}");
}
}Dua method statis menerima List<int> sebagai parameter dan mengembalikan hasilnya. Main mengatur alur, foreach mengolah setiap nilai, dan using System.Collections.Generic menyediakan List<T>.
List string dan Remove
List<string> tugas = new List<string> { "Belajar C#", "Olahraga", "Baca buku" };
tugas.Add("Belanja mingguan");
tugas.Remove("Olahraga");
Console.WriteLine($"{tugas.Count} tugas tersisa:");
foreach (string t in tugas)
{
Console.WriteLine($"- {t}");
}Add menambah di akhir, Remove menghapus nilai yang cocok. Bentuk new List<string> { ... } mengisi nilai awal sekaligus tanpa Add berulang. Untuk daftar dari pengguna, gabungkan dengan loop baca-sampai-selesai pelajaran while.
Latihan singkat
Uji: masukkan kopi/12000, teh/8000, lalu selesai — baris terakhir harus `Termahal: kopi (12000)`.