Jakiś czas temu w pracy miałam ciekawy przypadek. Mianowicie – losowo wywalał się jeden z testów. Powodem był NullReferenceException w logice. Żeby dojść do problemu, trzeba było przeanalizować trochę kodu, w którym był użyty Parallel.ForEach() i lista obiektów. Gdzie był błąd i jak go naprawiłam? O tym we wpisie.
Sztuka programowania 1724 dni, 3 godziny, 45 minut temu 172 źrodło rozwiń
Dziś kolejny wpis na temat mikro-optymalizacji. Oczywiście dla większości aplikacji biznesowych taka różnica w wydajności nie ma kluczowego znaczenia. Myślę jednak, że jest to ciekawe z punktu widzenia IL i jak naprawdę działa język c#. Jeśli ktoś z kolei piszę np. grę albo aplikację czasu rzeczywistego, wtedy ma to już znaczenie, co robimy w każdej sekundzie. Zacznijmy od razu od wniosku: foreach w niektórych przypadkach jest znacząco wolniejszy od klasycznego for. Nie powinno to dziwić – w końcu iter...
LINQ udostępnia metodę where, która umożliwia przeszukiwanie kolekcji tak jak foreach.
Bazy danych i XML 5550 dni, 4 godziny, 48 minut temu 106 źrodło rozwiń
Tym razem temat jest bardzo prosty: "Jak wymienić (wyliczyć) wszystkie elementy typu wyliczeniowego (enum'a)?". Przyznam, że robiłem już to wiele razy, ale często musiałem się chwilę zastanowić: "jak to było?". Więc teraz w ramach ściągi dla siebie (a może komuś się to jeszcze przyda...)
Dostępność równoległej pętli For była już dostępna w CTP. Jednak ze względu, iż była to wirtualna maszyna użycie jej było bardzo ograniczone (bez wirtualizacji VPC ma jeden wątek). Skoro teraz jest już Beta postanowiłem się temu przyjrzeć ponownie.Parallel Nowy Framework daje nam do dyspozycji trzy warianty: For,For oraz ForEach.