Tuple w C#7 vs F# vs TypeScript

Czas czytania ~ 200 sekund Co zrobić, by funkcja mogła zwracać wiele wartości ? Można opakować te wartości w klasę lub strukturę.  W poprzednich wersjach C# mieliśmy także do dyspozycji generyczne klasy Tuple, które wystawiały propertiesy Item1, Item2, .... ItemN.  Innymi, również niezbyt wygodnymi sposobami na przekazywanie kilku wartości jako wyjścia z funkcji były na przykład parametry … Continue reading Tuple w C#7 vs F# vs TypeScript

7 zastosowań operatora nameof w C#

Czas czytania ~ 120 sekund Co prawda mamy już oficjalnie C# w wersji siódmiej, ale wróćmy jeszcze na moment do wersji 6 i przyjrzyjmy się operatorowi nameof. Niby prosty operator zamieniający symbol (klasę, metodę, property, parametr metody ...) na string odpowiadający jego nazwie. Tylko tyle i aż tyle, jeśli pomyślimy o tym w kontekście refaktoryzacji kodu. … Continue reading 7 zastosowań operatora nameof w C#

6 rzeczy, które ma F#, a brakuje ich w LINQ

Jednym z ważniejszych, o ile nie najważniejszym interfejsem w .NET jest IEnumerable<T>. LINQ i extension methods zdefiniowane właśnie na tym interfejsie pozwalają na tworzenie nawet bardzo skomplikowanych transformacji danych Oddajmy głos jednemu z autorów: I nie ma tutaj znaczenia to, co chciał przekazać w dwóch kolejnych tweetach. Teraz weźmy pod uwagę F#, język funkcyjny, a … Continue reading 6 rzeczy, które ma F#, a brakuje ich w LINQ

Krótki wpis o pracy z nullami

Czas czytania ~ 220 sekund Dziś  bohaterem numer jeden będzie coś, za czym chyba nieszczególnie przepadamy. A właściwie przyjrzymy się różnym możliwym technikom walki z czymś w stylu Pomijając zbędne podstawy, np. takie: zerknijmy na kilka bardziej praktycznych fragmentów kodu. C# if-else Pierwsza kwestia to zagnieżdżenia. Sprawdzanie, czy coś jest null-em często prowadzi do zagnieżdżania kodu, im … Continue reading Krótki wpis o pracy z nullami

Porównywanie tekstu w .NET – badanie szybkości z użyciem BenchmarkDotNet

Czas czytania ~ 150 sekund. Jest to wpis zainspirowany prawdziwymi wydarzeniami. Wszelkie podobieństwo do osób, Spotkanie z klientem. Omawiamy nową funkcjonalność wyszukiwarki. Pada pytanie, dlaczego system nie szuka w środku wyrazu,.przecież Excel tak potrafi. Odpowiadamy, że porównywanie tekstów po przedrostkach jest znacznie szybsze, a przecież tutaj będzie sporo danych. No właśnie, ale znacznie to znaczy … Continue reading Porównywanie tekstu w .NET – badanie szybkości z użyciem BenchmarkDotNet

O strumieniach w .NET

Strumienie w .NET dostarczają warstwę abstrakcji nad ciągami bajtów. Spotykamy się z nimi między innymi przy operacjach I/O, choć nie tylko. Krótki research stackoverflow pod kątem najwyżej ocenianych pytań pod tagami stream i .net prowadzi do raczej przewidywalnych wniosków. Większość naszej pracy ze strumieniami to konwersja z i do stringów, tablicy bajtów, plików itd. Co więcej powinniśmy wiedzieć i … Continue reading O strumieniach w .NET