Extension Methods — wywołania łańcuchowe

W poprzednim artykule poznałeś podstawy metod rozszerzających — składnię, słowo kluczowe this i zasady ich definiowania. Tutaj skupiamy się na jednym, konkretnym zastosowaniu: budowaniu wywołań łańcuchowych (method chaining), czyli serii operacji zapisanych jako jeden, płynny ciąg — dokładnie tak, jak działa LINQ (list.Where(…).Select(…).ToList()). Warunek konieczny: zwracaj…

Continue reading Extension Methods — wywołania łańcuchowe

Porównywanie stringów w C# — pułapka tureckiego I

Łańcuchy, czyli ciągi znaków w C#, mają typ string — sekwencję znaków char w standardzie Unicode. Słowo kluczowe string jest aliasem do System.String — oba zapisy są równoważne. Ten artykuł skupia się na jednym, często pomijanym temacie: jak poprawnie porównywać stringi. Po pełną głębię niezmienności (immutability) i konsekwencje wydajnościowe…

Continue reading Porównywanie stringów w C# — pułapka tureckiego I