Menu
Coddy logo textTech

C# Hile Sayfası

Son güncelleme

Hello World ve program yapısı

Üst düzey ifadeler (.NET 6'dan beri), şablon sınıfını atlamanıza olanak tanır.

ElementKod
Üst düzey programConsole.WriteLine("Hello, World!");
Bir ad alanını içe aktarusing System;
Klasik giriş noktasıstatic void Main(string[] args) { ... }
Bir satır yazdırConsole.WriteLine("text");
Bir satır okustring s = Console.ReadLine();
Dize interpolasyonuConsole.WriteLine($"Hi {name}");
Yorumlar// line ve /* block */

Veri tipleri

TipAçıklama
int32 bit işaretli tam sayı
long64 bit işaretli tam sayı
double / floatKayan noktalı sayılar
decimalYüksek duyarlıklı ondalık (para)
booltrue veya false
charTek Unicode karakteri
stringDeğiştirilemez metin
varDerleyici tipi çıkarır
int?Null olabilen değer tipi

Değişkenler

İşlemSöz dizimi
Tanımla ve ilk değer ataint x = 5;
Tip çıkarımıvar name = "Ada";
Sabitconst double Pi = 3.14159;
Salt okunur alanreadonly int id;
Null olabilen referansstring? maybe = null;
Null birleştirmevar y = maybe ?? "default";
Null koşulluint? len = text?.Length;

Kontrol akışı

İfadeSöz dizimi
If / elseif (x > 0) { ... } else { ... }
Switch ifadesi (statement)switch (n) { case 1: ...; break; default: ...; }
Switch ifadesi (expression)var s = n switch { 1 => "one", _ => "other" };
While döngüsüwhile (i < n) { ... }
Do-while döngüsüdo { ... } while (i < n);
For döngüsüfor (int i = 0; i < n; i++) { ... }
Foreach döngüsüforeach (var item in list) { ... }
Break / continuebreak; bir döngüden çıkar, continue; bir sonraki yinelemeye atlar

Metotlar

İşlemSöz dizimi
Bir metot tanımlaint Add(int a, int b) { return a + b; }
İfade gövdeliint Add(int a, int b) => a + b;
Geri dönüş değeri yokvoid Greet() { ... }
İsteğe bağlı parametreint Pow(int b, int e = 2) { ... }
Adlandırılmış argümanlarPow(b: 2, e: 3);
Out parametresibool TryParse(string s, out int n) { ... }
Statik metotstatic int Square(int x) => x * x;
Lambda ifadesiFunc<int, int> f = x => x * 2;

Sınıflar ve OOP

İşlemSöz dizimi
Bir sınıf tanımlaclass Dog { ... }
Otomatik özellikpublic string Name { get; set; }
Salt okunur özellikpublic int Id { get; }
Yapıcı (constructor)public Dog(string name) { Name = name; }
Bir nesne oluşturvar d = new Dog("Rex");
Kalıtımclass Puppy : Dog { ... }
Arayüzinterface IRunnable { void Run(); }
Bir metodu geçersiz kılpublic override void Speak() { ... }
Record (değiştirilemez)record Point(int X, int Y);

Koleksiyonlar

System.Collections.Generic'ten generic koleksiyonlar.

TipKullanım ve örnek
List<T>Dinamik dizi: list.Add(1); list.Count;
Dictionary<K, V>Anahtar-değer: dict["a"] = 1; dict.ContainsKey("a");
HashSet<T>Benzersiz değerler: set.Add(5); set.Contains(5);
Queue<T>FIFO: q.Enqueue(x); q.Dequeue();
Stack<T>LIFO: s.Push(x); s.Pop();
Diziint[] nums = { 1, 2, 3 };
Koleksiyon başlatıcıvar l = new List<int> { 1, 2, 3 };
Bir sözlüğü dolaşforeach (var kv in dict) { kv.Key; kv.Value; }

LINQ

Koleksiyonları akıcı şekilde sorgulayın; System.Linq'ten.

İşlemSöz dizimi
Filtrelenums.Where(n => n > 0)
Yansıt / dönüştürnums.Select(n => n * 2)
Sıralanums.OrderBy(n => n) / OrderByDescending(...)
İlk eşleşmenums.First(n => n > 5) / FirstOrDefault(...)
Any / allnums.Any(n => n < 0) / nums.All(n => n > 0)
Eşleşmeleri saynums.Count(n => n > 0)
Toplama (aggregate)nums.Sum(), nums.Max(), nums.Average()
Gruplaitems.GroupBy(i => i.Category)
Somutlaştır.ToList() / .ToArray()

Yaygın desenler (özellikler, async)

DesenSöz dizimi
Async metotasync Task<int> GetAsync() { ... }
Bir görevi await etvar result = await GetAsync();
Try / catchtry { ... } catch (Exception e) { ... }
Finallyfinally { ... } her zaman çalışır
Using (dispose)using var file = File.OpenRead(path);
Dize biçimlendirme$"Total: {amount:C}"
Generic sınıfclass Box<T> { public T Value; }
Desen eşleştirmeif (obj is Dog d) { d.Bark(); }

En çok başvurduğunuz C# söz dizimi, koleksiyonlar ve LINQ sorguları tek sayfada. Bu C# hile sayfası, C# yazmak için hızlı bir başvurudur - veri tipleri, kontrol akışı, sınıflar, List/Dictionary koleksiyonları, LINQ ve deyimsel .NET kodunu tanımlayan özellik ve async desenleri.

Buradaki her şey .NET üzerinde standart C#'tır ve dotnet CLI ile çalışır. İhtiyacınız olanı kopyalayın ya da herhangi bir kod parçasını C# playground'da canlı deneyin - kurmanız gereken bir SDK yok.

C# hile sayfası SSS

Bu C# hile sayfası ücretsiz mi?
Evet. Bu C# hile sayfası tamamen ücretsizdir ve kayıt gerektirmez. Yer imlerinize ekleyin ve bir söz dizimine, koleksiyona ya da LINQ metoduna bakmanız gerektiğinde geri dönün.
C#'ta değer tipleri ile referans tipleri arasındaki fark nedir?
Değer tipleri (int, double, bool, struct, enum) verilerini doğrudan tutar ve atandıklarında veya bir metoda geçirildiklerinde kopyalanır - kopyayı değiştirmek orijinali etkilemez. Referans tipleri (class, string, diziler, List<T>) heap üzerindeki verilere bir referans tutar, dolayısıyla iki değişken aynı nesneyi gösterebilir ve biri üzerinden yapılan bir değişiklik diğeri üzerinden görülür. string bir referans tipidir ama değiştirilemez gibi davranır.
LINQ nedir ve ne zaman kullanmalıyım?
LINQ (Language Integrated Query), koleksiyonları manuel döngüler yerine okunabilir, zincirlenebilir çağrılarla filtrelemenize, dönüştürmenize ve toplamanıza olanak tanıyan Where, Select ve OrderBy gibi metotlar kümesidir. Aksi takdirde filtrelenmiş veya yansıtılmış bir liste oluşturmak için döngü yazacağınız her durumda kullanın - özlüdür ve ToList() çağırana ya da dolaşana kadar tembel olarak değerlendirilir.
C#'ı çevrimiçi olarak deneyebilir miyim?
Evet. C# playground'u açarak bu hile sayfasındaki herhangi bir kod parçasını tarayıcınızda çalıştırabilirsiniz - kurmanız gereken bir SDK yok. Yapı istediğinizde, Coddy'nin ücretsiz etkileşimli C# kursu sizi değişkenler ve döngülerden sınıflara, koleksiyonlara ve LINQ'ya adım adım götürür.
Bu hile sayfası yeni başlayanlar için uygun mu?
Evet. En yaygın yapı taşlarından (tipler, kontrol akışı, metotlar) gelişmiş olanlara (LINQ, async, generic'ler) doğru düzenlenmiştir, böylece üstteki bölümleri ilk günden kullanabilir ve zamanla geri kalanına geçebilirsiniz.
Coddy programming languages illustration

Coddy ile C# öğren

BAŞLA