Archiwa kategorii: C#

NUnit Test Adapter Visual Studio 2015

Tak dla jasności. Jeśli ktoś chce używać NUnita w Visual Studio 2015 to niech pamięta, że:

  • Nunit.Framework w wersji 3+ wymaga NUnit Test Adapter dla Visual Studio 2015 w wersji 3 czyli paczka nazywa się NUnit3 Test Adapter
  • Jeśli Nunit.Framework jest w wersji 2 to wtedy paczka, która nazywa się NUnit Test Adapter będzie w ok.

Czytaj dalej NUnit Test Adapter Visual Studio 2015

Parsowanie plików z ogranicznikiem pól. Metoda String.Split i String.SplitWithCheckSeparator

Metoda Split dzieli łańcuch znaków na części w zależności od separatora, który został przekazany w parametrach. Ostatnio jednak natknąłem się na plik CSV, który oprócz tego, że jest rozdzielony przecinkami to na dodatek ma jeszcze ogranicznik pól. Parsowanie takiego pliku metodą String.Split nie będzie prawidłowe. Poniżej implementacja metody String.Split z możliwością zdefiniowania ogranicznika pól(checkSeparator).

Czytaj dalej Parsowanie plików z ogranicznikiem pól. Metoda String.Split i String.SplitWithCheckSeparator

Słowo kluczowe – var – używać czy nie używać?

Słowo kluczowe var wprowadzone w C# 3.0 pozwala w codziennej pracy programisty .NET unikać definiowania typów danych, zrzucając odpowiedzialność na ustalenie typu kompilatorowi. W większość przypadków kompilator domyśla się jaki typ ma mieć dana zmienna i życie toczy się dalej. Jednak z czasem można zauważyć pewne efekty uboczne w czytelności kodu. Poniżej moje przemyślenia na temat var.

Czytaj dalej Słowo kluczowe – var – używać czy nie używać?

Klasa Lazy w .NET 4.0

Przez przypadek dokładając swoją cegiełkę do dyskusji o tym, czy wzorzec singielton jest dobry czy zły, doszukałem się dość ciekawej klasy w .NET 4.0, mianowicie klasy Lazy<T> wprowadzonej w .NET 4.0. Klasa ma dość rozbudowany jak na C# sposób obsługi tworzenia obiektów z opóźnioną inicjalizacją w aplikach wielowątkowych. Poniżej, zwięzły opis i przykład zastosowania.

Czytaj dalej Klasa Lazy w .NET 4.0

C# składnie, o których zapominamy

Pracując długo jako programista C# trzeba uważać na stan, w którym ciągle i ciągle używamy tych samych metod na osiągnięcie podobnych celów. Człowiek jest istotą, która bardzo szybko się przyzwyczaja przez co przestaje korzystać ze wszystkich udogodnień jakie oferuje środowisko. Poniżej kilka przykładów składni w C#, o których nie zawsze pamiętamy.

Czytaj dalej C# składnie, o których zapominamy

Bezpieczeństwo w aplikacjach C#. Podstawy i nie tylko. Część I.

Bezpieczeństwo jest szerokim tematem i ma jeden poważny minus nigdy się do końca nie wie czy to co się wie na temat bezpieczeństwa jest wystarczające do tego by powiedzieć, że aplikacja, którą napisaliśmy jest bezpieczna. Zawsze się znajdzie, ktoś kto powie, że jakieś zabezpieczenie jest słabe lub niewystarczające. Mimo tego, podstawy trzeba znać, poniżej opisuje podstawy zabezpieczeń aplikacji C#.

Czytaj dalej Bezpieczeństwo w aplikacjach C#. Podstawy i nie tylko. Część I.

Przygody z BitConverter i StreamReader

Napotkałem problem z klasą StreamReader, która nie radzi sobie z odczytaniem plików w formie tablicy bajtów. Różne kombinację z odczytaniem czy to całej linii czy też całego pliku – ReadToEnd(), nie przyniosły właściwego skutku. Poniżej prezentuje jak można odczytać sekwencję bajtów  bezpośrednio z pliku.

Czytaj dalej Przygody z BitConverter i StreamReader