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
LINQ Partitioning: Take, Skip, TakeWhile, Chunk ve Take(Range)
Backend SERİ 06

LINQ Partitioning: Take, Skip, TakeWhile, Chunk ve Take(Range)

TakeWhile neden bir filtre değildir, Skip ve Take ile doğru sayfalama ve sıralamanın sessiz kuralı, TakeLast/SkipLast'ın sona kadar okuması, .NET 6 ile gelen Take(Range) ve array slice farkı, Chunk ile paketlere bölmek ve partitioning operatörlerinin kaynaktan tam olarak ne kadar okuduğu.

7 Kas 2026 10 dk 5
LINQ Element Operatörleri: First, Last, Single, ElementAt ve OrDefault
Backend SERİ 05

LINQ Element Operatörleri: First, Last, Single, ElementAt ve OrDefault

First, Last, Single ve ElementAt ailesi ile OrDefault kardeşleri; value type'larda 0'ın 'bulunamadı' ile karışması, .NET 6'nın varsayılan değer parametresi ve Index overload'ları, First ile Single arasındaki niyet farkı ve nullable uyarıları.

7 Kas 2026 9 dk 4
LINQ ile Projection: Select, SelectMany ve Anonymous Type
Backend SERİ 04

LINQ ile Projection: Select, SelectMany ve Anonymous Type

Select ile bire bir, SelectMany ile bire çok projection; DTO'ya dönüştürmek, result selector ile üst bilgiyi korumak, kartezyen çarpım, anonymous type'ın eşitlik ve with kuralları, method dışına tuple mı record mı.

7 Kas 2026 10 dk 6
LINQ ile Filtreleme ve Sıralama: Where, OrderBy, ThenBy ve Reverse
Backend SERİ 03

LINQ ile Filtreleme ve Sıralama: Where, OrderBy, ThenBy ve Reverse

Where ve index overload'u, ikinci OrderBy'ın ilkini neden sildiği, ThenBy ile çok key'li sıralama, OrderBy'ın stable, List.Sort'un unstable oluşu, kültüre bağlı string sıralaması ve Reverse ile OrderByDescending farkı.

7 Kas 2026 10 dk 2
LINQ Deferred Execution: Sorgu Ne Zaman Çalışır? IEnumerable ve IQueryable
Backend SERİ 02

LINQ Deferred Execution: Sorgu Ne Zaman Çalışır? IEnumerable ve IQueryable

LINQ sorgusunun tanımlandığında değil dolaşıldığında çalışması, element element streaming, hemen çalışan ve non-streaming operatörler, çoklu enumeration'ın bedeli ve Func ile expression tree üzerinden IEnumerable ile IQueryable farkı.

7 Kas 2026 10 dk 5
LINQ Nedir? C# ile Query Syntax ve Method Syntax
Backend SERİ 01

LINQ Nedir? C# ile Query Syntax ve Method Syntax

LINQ'in döngülerle yazdığımız sorgulara getirdiği değişiklik, onu mümkün kılan C# 3.0 özellikleri, query syntax'ın derleyicide method çağrısına nasıl çevrildiği, hangi yazımı ne zaman seçmek gerektiği ve ilk tuzaklar.

7 Kas 2026 11 dk 3
C# 13–14 ve .NET 9–10: OrderedDictionary, params Collections ve Fazlası
Backend SERİ 11

C# 13–14 ve .NET 9–10: OrderedDictionary, params Collections ve Fazlası

Dictionary'nin sıra sözü vermemesi ve .NET 9'un generic OrderedDictionary'si, .NET 10'un index döndüren TryAdd/TryGetValue'su, PriorityQueue.Remove, string ayırmadan alternate lookup, C# 13 params collections ve C# 14 extension members ile span dönüşümleri.

7 Kas 2026 11 dk 4
C# 11–12 ve .NET 7–8: Generic Math, Frozen ve Collection Expressions
Backend SERİ 10

C# 11–12 ve .NET 7–8: Generic Math, Frozen ve Collection Expressions

C# 10'da yazılamayan generic toplama, static abstract member'lar ve INumber<T> ile generic math; bir kez kurulup çok okunan FrozenDictionary ve FrozenSet'in BenchmarkDotNet ölçümü; köşeli parantezli collection expression'lar, spread ve CollectionBuilder.

7 Kas 2026 12 dk 6
C# Generic Variance: Covariance ve Contravariance (in ve out)
Backend SERİ 09

C# Generic Variance: Covariance ve Contravariance (in ve out)

List<EBook> neden List<Book> olamaz ama IEnumerable<Book> olabilir? Array covariance'ın deliği, out ile covariance, in ile contravariance, delegate'lerde variance, kuralların sınırları ve CS0266'nın önerdiği cast tuzağı.

7 Kas 2026 10 dk 6
C# Immutable Collection'lar ve Doğru Collection'ı Seçmek
Backend SERİ 08

C# Immutable Collection'lar ve Doğru Collection'ı Seçmek

Read-only view ile gerçek immutability farkı, ImmutableList'in structural sharing'i, builder'lar, ImmutableArray ile ImmutableList'in BenchmarkDotNet ile ölçülen farkı ve karmaşıklık haritasıyla doğru collection'ı seçmek.

7 Kas 2026 11 dk 5
C# Collection Interface'leri: IEnumerable, ICollection, IList ve yield return
Backend SERİ 07

C# Collection Interface'leri: IEnumerable, ICollection, IList ve yield return

IEnumerable, ICollection, IList ve IReadOnly* interface'leri neyi vaat eder, neyi etmez; array'in Add'de neden patladığı, iç listeyi güvenle dışarı açmak, parametre tipi seçmek ve yield return ile lazy iterator'ler yazmak.

7 Kas 2026 11 dk 5
C# Sıralı Collection'lar: SortedList, SortedDictionary, SortedSet ve IComparer
Backend SERİ 06

C# Sıralı Collection'lar: SortedList, SortedDictionary, SortedSet ve IComparer

Comparer sıfır döndürünce SortedSet'ten sessizce kaybolan kitap ve eşitlik bozucu ikinci kriter. Red-black tree üzerindeki SortedDictionary, iki sıralı array'li SortedList ve hangisinin ne zaman seçileceği; SortedSet ile Min, Max ve canlı GetViewBetween; IComparer, kültüre duyarlı string sırası ve bozuk comparer tuzakları.

7 Kas 2026 8 dk 6
Blog Haritası