Pokazywanie postów oznaczonych etykietą dictionary. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą dictionary. Pokaż wszystkie posty

niedziela, 1 marca 2015

Podstawy optymalizacji w C#. Odszukanie elementu z dużego zbioru danych.

Słowniki danych (dictionaries), są używane gdy potrzebujemy bardzo szybkiego dostępu do danych w pamięci. Standardowo można użyć listy:

List users = new List();

....

list.Single(k => k.UserId == 1);

problem tutaj jest taki, że przepatrujemy cały zbiór do momentu aż natrafimy na element spełniający warunek. Jeśli UserId znajdowałby się na samym końcu to zostanie przepatrzona cała lista. Wyobraźmy sobie, ze potrzebujemy co chwilę wyciągać użytkowników po danym ID. Trochę to wypada kiepsko.

Dobrym rozwiązaniem jest skorzystanie np. ze słownika danych:

Dictionary users = new Dictionary();

users[201]; // zwraca użytkownika z UserId 201

działa to na prawdę bardzo szybko.