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
101 yazı bulundu #csharp
C# record ve record struct: Value Equality ve with Expression'ı
Backend SERİ 09

C# record ve record struct: Value Equality ve with Expression'ı

Derleyicinin record için ürettiği member'lar, with ile kopyalayarak değiştirmek, positional ve nominal record, inheritance'ta EqualityContract, C# 10'un record struct'ı ve record'u ne zaman seçeceğin.

7 Kas 2026 10 dk 3
C#'ta struct ve class Farkı: Kopyalama Semantiği ve readonly struct
Backend SERİ 08

C#'ta struct ve class Farkı: Kopyalama Semantiği ve readonly struct

Struct bir value type: property, indexer ve foreach'te gizlenen kopyalar, C# 10'da parametresiz constructor ile default farkı, struct'ların inheritance kuralları, readonly struct ve with ile immutable Money, boxing'in yarattığı ikinci kopya, struct eşitliği ve bir tipi ne zaman struct yapacağın.

7 Kas 2026 10 dk 2
C#'ta Interface: Çoklu ve Explicit Implementation, Default Interface Method
Backend SERİ 07

C#'ta Interface: Çoklu ve Explicit Implementation, Default Interface Method

Interface bir contract: CS0535 ve CS0144, bir class'ın birden çok interface'i implement etmesi, aynı isimli member'lar için explicit implementation ve BCL'deki örnekleri, yalnızca interface üzerinden çağrılan default interface method'lar, abstract class ile seçim ve saati interface'e alarak test edilebilir kod.

7 Kas 2026 10 dk 5
C#'ta Polymorphism: virtual, override, new ve abstract Class
Backend SERİ 06

C#'ta Polymorphism: virtual, override, new ve abstract Class

virtual ve override ile kararı runtime'ın vermesi, kargo ücretiyle if'siz bir sepet döngüsü, base çağrısı ve ToString override, new ile gizleme ve CS0114 tuzağı, abstract class ve template method, sealed override ve constructor'dan virtual method çağırmanın NullReferenceException'ı.

7 Kas 2026 10 dk 4
C#'ta Inheritance: base, sealed ve Constructor Zinciri
Backend SERİ 05

C#'ta Inheritance: base, sealed ve Constructor Zinciri

Product, Book ve EBook ile inheritance: derived class'ın gördükleri ve protected, base ile constructor zinciri ve field initializer'ların ters sırası, upcast, downcast, is ve as, sealed ile türetmeyi durdurmak ve List'ten derive eden bir Order'ın encapsulation'ı nasıl bozduğu.

7 Kas 2026 11 dk 3
C#'ta static Member'lar, static Class ve Extension Method
Backend SERİ 04

C#'ta static Member'lar, static Class ve Extension Method

Tipe ait static field ve method'lar, static method'da this'in yokluğu, const ile static readonly farkı ve static constructor'ın ne zaman çalıştığı, static class, ISBN doğrulayan bir extension method, extension kuralları ve paylaşılan static durumun thread tuzağı.

7 Kas 2026 9 dk 4
C#'ta Encapsulation ve Access Modifier'lar: public, private, protected, internal
Backend SERİ 03

C#'ta Encapsulation ve Access Modifier'lar: public, private, protected, internal

Get-only bir List property'sinin neden hiçbir şeyi korumadığı, invariant'ları object'in içinde tutmak, IReadOnlyList ve AsReadOnly farkı, altı access modifier ve varsayılanları, private'ın tipe ait olması, internal ve InternalsVisibleTo ile assembly sınırı.

7 Kas 2026 9 dk 5
C#'ta Field, Property ve Constructor: Object'i Doğru Kurmak
Backend SERİ 02

C#'ta Field, Property ve Constructor: Object'i Doğru Kurmak

Kendi constructor'ını yazınca kaybolan parametresiz constructor, private ve readonly field'lar, doğrulama yapan property, auto-property, get-only, private set, init ve hesaplanan property, constructor zincirleme ve initializer'ların çalışma sırası.

7 Kas 2026 10 dk 4
C# ile Class ve Object: İlk Kendi Tipini Yazmak
Backend SERİ 01

C# ile Class ve Object: İlk Kendi Tipini Yazmak

Class bir tarif, object onun bellekteki ürünü. Field ve method'larla ilk Book class'ı, this, reference type olmanın anlamı, == ile kimlik karşılaştırması, null ve NullReferenceException, class'ların dosya ve namespace düzeni.

7 Kas 2026 9 dk 3
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 5
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 4
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 5
Blog Haritası