Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
20 yazı bulundu #csharp-temelleri
C# Mini Proje: Konsolda Bookstore (Listele, Ekle, Ara, Dosyaya Kaydet)
Backend SERİ 20

C# Mini Proje: Konsolda Bookstore (Listele, Ekle, Ara, Dosyaya Kaydet)

C# Temelleri serisinin bitiş projesi: enum, DateOnly, nullable, TryParse, exception filtreleri ve dosya işlemleriyle konsolda çalışan bir Bookstore. İlk çalıştırmada yakalanan iki gerçek hata (14,00'ün 1400 olması ve sessizce silinen satır), düzeltmeleri ve OOP serisine köprü.

7 Kas 2026 13 dk 2
C# Hata Ayıklama: Breakpoint, Call Stack, Debug.Assert ve Derleyici Uyarıları
Backend SERİ 19

C# Hata Ayıklama: Breakpoint, Call Stack, Debug.Assert ve Derleyici Uyarıları

Debug.WriteLine neden terminalde görünmez, Debug.Assert neden Release'te yok olur? IDE'den bağımsız debugger kavramları, watch ile tamsayı bölmesi hatasını bulmak, stack trace okumak, dotnet build uyarılarının anatomisi ve WarningsAsErrors ile nullable uyarılarını hataya çevirmek.

7 Kas 2026 9 dk 2
C# Kodu Düzenlemek: Namespace, global using, Solution ve NuGet
Backend SERİ 18

C# Kodu Düzenlemek: Namespace, global using, Solution ve NuGet

internal bir member'a başka projeden erişince neden CS0117 alırsın? Proje ve assembly sınırı, file-scoped namespace, global using ve implicit using'lerin üretilen dosyası, .NET 10 SDK'nın .slnx solution'ı, projeler arası referans ve NuGet paketi eklemek.

7 Kas 2026 8 dk 2
C# Dosya ve Konsol: ReadLine, File, Path, Directory, using ve Encoding
Backend SERİ 17

C# Dosya ve Konsol: ReadLine, File, Path, Directory, using ve Encoding

Aynı metin neden 15 ve 18 bayt tutuyor? UTF-8 ve BOM, null dönebilen Console.ReadLine, Path.Combine ile Path.Join farkı, File ve Directory ile tek satırda okuma-yazma, göreli yollar ve çalışma klasörü, Dispose edilmeyen StreamWriter'ın boş kalan dosyası.

7 Kas 2026 9 dk 2
C# Tarih ve Saat: DateTime, DateTimeOffset, DateOnly, TimeOnly ve UTC
Backend SERİ 16

C# Tarih ve Saat: DateTime, DateTimeOffset, DateOnly, TimeOnly ve UTC

Neden aynı rakamlı UTC ve yerel DateTime eşit çıkıyor? Kind sorunu, anı sabitleyen DateTimeOffset, TimeZoneInfo ve yaz saati, .NET 6 ile gelen DateOnly ve TimeOnly, TimeSpan'de Days ile TotalDays farkı, culture'a bağlı biçimlendirme ve parse, UTC'de saklama kuralı.

7 Kas 2026 9 dk 2
C# Enum: Underlying Type, [Flags], Parse ve switch
Backend SERİ 15

C# Enum: Underlying Type, [Flags], Parse ve switch

Enum'ın altındaki sayı: neden (OrderStatus)7 geçerli bir değer, default'un 0 olması, değerleri elle vermek, Parse ve TryParse'ın sürprizleri, switch expression'da CS8524 uyarısı ve [Flags] ile birleşebilen seçenekler.

7 Kas 2026 9 dk 2
C# Exception Handling: try/catch/finally, throw ve Kendi Exception'ın
Backend SERİ 14

C# Exception Handling: try/catch/finally, throw ve Kendi Exception'ın

C#'ta exception handling: try, catch ve sıralaması, finally ve using ile temizlik, throw ile throw ex farkının stack trace'e etkisi, when filtresi, kendi exception tipini ve InnerException'ı kullanmak, ne zaman exception ne zaman TryXxx.

7 Kas 2026 9 dk 1
C# Nullable: int?, string? ve null'ı Tasarımla Yönetmek
Backend SERİ 13

C# Nullable: int?, string? ve null'ı Tasarımla Yönetmek

C#'ta null ile çalışmak: Nullable<T> ve int?, null ile hesap yapan lifted operatörler, C# 8 ile gelen nullable reference types ve uyarıları, flow analysis, ?. ?? ??= ve ! operatörleri ve null'ı tasarımla yönetmenin kuralları.

7 Kas 2026 10 dk 2
C# Value Type ve Reference Type: Atama, Kopyalama ve string'in Özel Durumu
Backend SERİ 12

C# Value Type ve Reference Type: Atama, Kopyalama ve string'in Özel Durumu

C#'ta value type ve reference type farkı: atamada ve method'a geçirirken ne kopyalanır, string neden value type gibi davranır, stack ve heap anlatımının doğru kısmı ve eksik kısmı, eşitlik, boxing ve collection'daki struct tuzakları.

7 Kas 2026 9 dk 2
C# Method'ları: Parametreler, Overloading, ref/out/in ve params
Backend SERİ 11

C# Method'ları: Parametreler, Overloading, ref/out/in ve params

C#'ta method yazmanın temel araçları: değerle geçen parametreler ve dönüş değeri, overloading ve signature, optional ve named argümanlar, ref, out ve in, params, local function'lar ve neden overload edilemedikleri, expression-bodied member'lar.

7 Kas 2026 11 dk 2
C# Array'ler: Tek ve Çok Boyutlu, Jagged, Index ve Range
Backend SERİ 10

C# Array'ler: Tek ve Çok Boyutlu, Jagged, Index ve Range

C#'ta array'ler: tanımlama ve default değerler, array'in reference type oluşu ve doğru kopyalama, çok boyutlu ve jagged array'ler, Array class'ının method'ları, C# 8 ile gelen Index ve Range ve Range'in neden kopya oluşturduğu.

7 Kas 2026 10 dk 1
C# Döngüler: for, while, do-while ve foreach
Backend SERİ 09

C# Döngüler: for, while, do-while ve foreach

C#'taki dört döngü ve ne zaman hangisi: for, while, do-while ve foreach. break ve continue, iç içe döngüden temiz çıkmak, sonsuz döngü pattern'i ve gezerken collection'ı değiştirmenin neden exception fırlattığı.

7 Kas 2026 10 dk 2
Blog Haritası