Najpierw zobaczymy, jak mogła wyglądać inicjalizacja słownika przed wersją 6.0... Składnia trochę ciężka w czytaniu. W C# 6.0 możliwe będzie... Moim zdaniem dużo lepiej to wygląda. Drobna zmiana, a zwiększa czytelność kodu. Kolejna natomiast zmiana nie podoba mi się i na szczęście została wycofana. Chciano wprowadzić nowy sposób uzyskiwania dostępu do pól. Klasycznie można odczytać wartość za pomocą...
Najczęściej programiści korzystają z klasy Dictionary ale warto rozważyć dwie inne kolekcje. ListDictionary przechowuje dane na liście jednokierunkowej. Dla słowników z kilkoma kluczami zwykle jest to szybsze niż standardowy hash table, wykorzystywany w Dictionary. Szybciej jest po prostu przejść przez 10 elementów, niż liczyć skomplikowaną funkcję haszującą.
Kod:
sealed class FolderFilesMappings : Dictionary
Sztuka programowania 4403 dni, 3 godziny, 32 minuty temu 157 źrodło rozwiń
Ponad dwa lata temu, popełniłem wpis na temat operacji na kolekcjach w C#. Post ten ku mej uciesze, wciąż cieszy się sporą popularnością, dlatego też postanowiłem napisać niejako jego kontynuację. Gdy dwa lata temu pisałem tamten wpis, wciąż dominującą wersją frameworka .Net, była ta oznaczona wersją 2.0. Dziś sytuacja się trochę zmieniła i przynajmniej w moim odczuciu, coraz więcej osób korzysta z wersji 3.5 i 4.0, a na horyzoncie jest już .Net 4.5, który pojawi się w pełni wraz z Windowsem 8 i Visual ...
Architektura 4537 dni, 16 godzin, 25 minut temu 296 źrodło rozwiń
Dzisiejszego dnia potrzebowałem użyć serializacji XML dla klasy Dictionary. Bardzo się zdziwiłem gdy okazało się, że klasa ta nie wspiera tego rodzaju serializacji. Wydawałoby się, że zapis danych w formacie XML jest dzisiaj już standardem, ale okazuje się, że jednak nie wszędzie. Stosując podstawową zasadę programisty po co pisać coś co ktoś inny już napisał uruchomiłem Google i zacząłem szukać rozwiązania. Udało mi się znaleźć kilka przykładów rozwiązania tego problemu, al...
Wielu programistów, zwłaszcza tych początkujących, przez cały czas kurczowo trzyma się tablic, jako uniwersalnego sposobu na przechowywanie dużej ilości określonych zmiennych/obiektów. I może jest to jakaś opcja, ale sumarycznie tablice dają duże ograniczenia. Deklarując tablicę, trzeba znać z góry ustaloną ilość elementów jaka będzie miała się znaleźć w tej tablicy i tym samym alokując dużą ilość pamięci już na starcie (być może taką ilość, której nawet nie wykorzystamy), ponadto tablice nie mają wielu ...
Architektura 5131 dni, 5 godzin, 4 minuty temu 172 źrodło rozwiń
Metoda w obiekcie GetHashCode() służy do generowania prostego (Int32) skrótu danego obiektu. We własnych klasach powinniśmy ją nadpisać, szczególnie jeśli dane obiekty będą wykorzystywane w kolekcjach typu Dictionary i HashSet. Jednak powinniśmy zrobić to prawidłowo, przestrzegając 3 prostych zasad...