Menu
CoddyTech

Cheat Sheet C#

Terakhir diperbarui

Hello World & struktur program

Top-level statement (sejak .NET 6) membuatmu tidak perlu menulis class boilerplate.

ElemenKode
Program top-levelConsole.WriteLine("Hello, World!");
Mengimpor namespaceusing System;
Titik masuk klasikstatic void Main(string[] args) { ... }
Mencetak satu barisConsole.WriteLine("text");
Membaca satu barisstring s = Console.ReadLine();
Interpolasi stringConsole.WriteLine($"Hi {name}");
Komentar// line dan /* block */

Tipe data

TipeKeterangan
intBilangan bulat bertanda 32 bit
longBilangan bulat bertanda 64 bit
double / floatBilangan floating point
decimalDesimal presisi tinggi (uang)
booltrue atau false
charSatu karakter Unicode
stringTeks yang tidak bisa diubah
varCompiler menyimpulkan tipenya
int?Value type nullable

Variabel

OperasiSintaks
Mendeklarasikan & menginisialisasiint x = 5;
Inferensi tipevar name = "Ada";
Konstantaconst double Pi = 3.14159;
Field read-onlyreadonly int id;
Reference nullablestring? maybe = null;
Null-coalescingvar y = maybe ?? "default";
Null-conditionalint? len = text?.Length;

Alur kontrol

PernyataanSintaks
If / elseif (x > 0) { ... } else { ... }
Pernyataan switchswitch (n) { case 1: ...; break; default: ...; }
Ekspresi switchvar s = n switch { 1 => "one", _ => "other" };
While loopwhile (i < n) { ... }
Do-while loopdo { ... } while (i < n);
For loopfor (int i = 0; i < n; i++) { ... }
Foreach loopforeach (var item in list) { ... }
Break / continuebreak; keluar dari loop, continue; lompat ke iterasi berikutnya

Method

OperasiSintaks
Mendefinisikan methodint Add(int a, int b) { return a + b; }
Expression-bodiedint Add(int a, int b) => a + b;
Tanpa nilai kembalianvoid Greet() { ... }
Parameter opsionalint Pow(int b, int e = 2) { ... }
Argumen bernamaPow(b: 2, e: 3);
Parameter outbool TryParse(string s, out int n) { ... }
Method staticstatic int Square(int x) => x * x;
Ekspresi lambdaFunc<int, int> f = x => x * 2;

Class & OOP

OperasiSintaks
Mendefinisikan classclass Dog { ... }
Auto propertypublic string Name { get; set; }
Property read-onlypublic int Id { get; }
Constructorpublic Dog(string name) { Name = name; }
Membuat objectvar d = new Dog("Rex");
Inheritanceclass Puppy : Dog { ... }
Interfaceinterface IRunnable { void Run(); }
Override methodpublic override void Speak() { ... }
Record (tidak bisa diubah)record Point(int X, int Y);

Collection

Collection generik dari System.Collections.Generic.

TipeKegunaan & contoh
List<T>Array dinamis: list.Add(1); list.Count;
Dictionary<K, V>Key-value: dict["a"] = 1; dict.ContainsKey("a");
HashSet<T>Nilai unik: set.Add(5); set.Contains(5);
Queue<T>FIFO: q.Enqueue(x); q.Dequeue();
Stack<T>LIFO: s.Push(x); s.Pop();
Arrayint[] nums = { 1, 2, 3 };
Collection initializervar l = new List<int> { 1, 2, 3 };
Iterasi dictionaryforeach (var kv in dict) { kv.Key; kv.Value; }

LINQ

Query collection dengan gaya berantai; dari System.Linq.

OperasiSintaks
Menyaringnums.Where(n => n > 0)
Proyeksi / mapnums.Select(n => n * 2)
Mengurutkannums.OrderBy(n => n) / OrderByDescending(...)
Kecocokan pertamanums.First(n => n > 5) / FirstOrDefault(...)
Any / allnums.Any(n => n < 0) / nums.All(n => n > 0)
Menghitung yang cocoknums.Count(n => n > 0)
Agregatnums.Sum(), nums.Max(), nums.Average()
Group byitems.GroupBy(i => i.Category)
Mewujudkan hasil (materialize).ToList() / .ToArray()

Pola umum (property, async)

PolaSintaks
Method asyncasync Task<int> GetAsync() { ... }
Menunggu task dengan awaitvar result = await GetAsync();
Try / catchtry { ... } catch (Exception e) { ... }
Finallyfinally { ... } selalu dijalankan
Using (dispose)using var file = File.OpenRead(path);
Format string$"Total: {amount:C}"
Class generikclass Box<T> { public T Value; }
Pattern matchingif (obj is Dog d) { d.Bark(); }

Sintaks C#, collection, dan query LINQ yang paling sering kamu pakai, dalam satu halaman. Cheat sheet C# ini adalah referensi cepat untuk menulis C#: tipe data, alur kontrol, class, collection List/Dictionary, LINQ, serta pola property dan async yang menjadi ciri kode .NET yang idiomatis.

Semua yang ada di sini adalah C# standar di .NET dan berjalan dengan CLI dotnet. Salin yang kamu butuhkan, atau coba potongan kode apa pun langsung di playground C#, tanpa perlu menginstal SDK.

FAQ cheat sheet C#

Apakah cheat sheet C# ini gratis?

Ya. Cheat sheet C# ini sepenuhnya gratis, tanpa perlu daftar. Simpan di bookmark dan kembali kapan pun kamu perlu mencari sintaks, collection, atau method LINQ.

Apa perbedaan value type dan reference type di C#?
Value type (int, double, bool, struct, enum) menyimpan datanya secara langsung dan disalin saat dimasukkan ke variabel lain atau dikirim ke method, jadi mengubah salinannya tidak memengaruhi aslinya. Reference type (class, string, array, List<T>) menyimpan reference ke data di heap, sehingga dua variabel bisa menunjuk ke object yang sama dan perubahan lewat salah satunya terlihat dari yang lain. string adalah reference type, tetapi berperilaku immutable.
Apa itu LINQ dan kapan sebaiknya saya memakainya?
LINQ (Language Integrated Query) adalah sekumpulan method seperti Where, Select, dan OrderBy yang memungkinkan kamu menyaring, mengubah, dan mengagregasi collection dengan pemanggilan berantai yang mudah dibaca, bukan dengan perulangan manual. Pakai LINQ setiap kali kamu sebenarnya akan menulis perulangan untuk membangun list yang disaring atau diproyeksikan: ringkas, dan baru dievaluasi saat kamu memanggil ToList() atau melakukan iterasi.
Bisakah saya berlatih C# secara online?
Bisa. Buka playground C# untuk menjalankan potongan kode apa pun dari cheat sheet ini di browsermu, tanpa perlu menginstal SDK. Kalau kamu ingin belajar terarah, kursus C# interaktif gratis dari Coddy membawamu dari variabel dan perulangan sampai class, collection, dan LINQ, langkah demi langkah. Ingin membuat game dengan C#? Kursus C# untuk Unity mengajarkan scripting Unity lewat game 3D yang berjalan di browsermu.
Apakah cheat sheet ini cocok untuk pemula?

Cocok. Isinya disusun mulai dari komponen dasar yang paling umum (tipe, alur kontrol, method) sampai yang lanjutan (LINQ, async, generic), jadi kamu bisa memakai bagian atas sejak hari pertama dan pelan-pelan menguasai sisanya.

Ilustrasi bahasa pemrograman di Coddy

Belajar C# bersama Coddy

Mulai