Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
C# Koşullar: if/else, switch ve Switch Expression
C#'ta karar vermenin yolları: if/else zincirinde sıranın önemi, süslü parantez ve scope, fall-through'a izin vermeyen switch statement, değer döndüren switch expression ve C# 9 ile gelen relational ve logical pattern'ler.
C# Operatörler ve Expression'lar: Short-Circuit, ??, ?. ve Öncelik
C#'ta expression ve statement farkı, aritmetik ve bileşik atama, prefix/postfix artırma, karşılaştırma, mantıksal operatörler ve short-circuit, ?: operatörü, ??, ??= ve ?. ile null yönetimi ve 100 - discount ?? 0 gibi öncelik tuzakları.
C# Tip Dönüşümleri: Cast, Parse, TryParse ve Convert
C#'ta implicit ve explicit dönüşüm, cast'in kesmesi ve overflow'u, Parse ile TryParse'ın ne zaman kullanılacağı, Convert'ün yuvarlama ve null davranışı, fiyatları sessizce yüz katına çıkaran culture'a bağlı parse ve boxing/unboxing'e ilk bakış.
C# String'ler: Interpolation, StringBuilder ve Türkçe I Tuzağı
C#'ta string'in değiştirilemez oluşu, interpolation ve biçim belirteçleri, escape sequence'lar ve verbatim string, sık kullanılan method'lar, StringBuilder ile ölçülmüş bellek farkı, StringComparison ve Türkçe I/ı/İ tuzağı.
C# Sayılar ve Aritmetik: int, double, decimal ve Overflow
C#'ta tamsayı bölmesi ve kalan, int, long, double ve decimal arasında seçim, 0.1 + 0.2'nin neden 0.3 etmediği, para için decimal, overflow ve checked, sıfıra bölme, Math class'ı ve banker's rounding tuzağı.
C# Değişkenler ve Veri Tipleri: var, const ve Literal'ler
C#'ta statik tipli değişkenler, hazır tiplerin boyutları ve aralıkları, var'ın gerçekte ne yaptığı, literal sonekleri ve derleyici hataları, const ve C# 10'un sabit interpolated string'i, varsayılan değerler ve .NET isimlendirme gelenekleri.
C# Kurulum ve İlk Program: dotnet new console ve Proje Dosyası
.NET 10 SDK'yı kurmak, dotnet new console ile ilk proje, Main'i compiler'ın ürettiği top-level statements, csproj'daki TargetFramework, ImplicitUsings, Nullable ve LangVersion, dotnet run ve build, IDE seçimi ve ilk derleyici hatasını okumak.
C# ve .NET Nedir? Dil, Platform ve Sürümler
C# ile .NET arasındaki çizgi: compiler, IL ve JIT, CLR, BCL, SDK ile runtime farkı, .NET Framework'ten .NET'e geçiş, LTS/STS destek takvimi, C# ve .NET sürüm eşleşmesi ve yedi serilik C# ailesinin kurgusu.
.NET 10 Yenilikleri: ASP.NET Core'da AddValidation, OpenAPI 3.1 ve Server-Sent Events
.NET 10 LTS ile minimal API'de AddValidation, OpenAPI 3.1 ve YAML, TypedResults.ServerSentEvents, System.Text.Json tabanlı JSON Patch, dotnet run app.cs, C# 14 ve cookie auth 401/403 gibi breaking change'ler.
.NET 9 Yenilikleri: ASP.NET Core'da Yerleşik OpenAPI, Scalar ve HybridCache
.NET 9 ile Swashbuckle template'ten çıktı: AddOpenApi/MapOpenApi, transformer'lar, Scalar ve Swagger UI, stampede korumalı HybridCache, TypedResults.InternalServerError, StatusCodeSelector, C# 13 ve 24 aylık STS desteği.
.NET 8 ile ASP.NET Core Yenilikleri: Keyed DI, IExceptionHandler, Identity API ve Native AOT
.NET 8 ile gelen keyed DI, IExceptionHandler, MapIdentityApi, ShortCircuit, TimeProvider ve Native AOT'u .NET 6 karşılaştırmasıyla anlatıyor; C# 12'ye, geçiş notlarına ve 10 Kasım 2026 destek bitişine bakıyoruz.
.NET 7 ile ASP.NET Core Yenilikleri: MapGroup, TypedResults, Rate Limiting ve Output Caching
.NET 7 ile gelen MapGroup, TypedResults, endpoint filter'lar, AddProblemDetails, rate limiting ve output caching'i .NET 6 karşılaştırmasıyla anlatıyor; C# 11 required members'a ve geçiş notlarına bakıyoruz.