2010-04-22 8 views

Odpowiedz

66

Reszta klasy Parallel zapewnia kilka innych wspaniałych rzeczy jak Parallel.Invoke(...) i Parallel.ForEach(...).

Ponadto, jeśli zrobisz cokolwiek z Linq, możesz użyć ParallelEnumerable.AsParallel() Method do konwersji zapytań Linq, aby działały równolegle.

To wszystko jest zbudowane na Task Parallel Library który stanowi wielki zestaw API do pracy z zadaniami w pobieranej sposób Wagi dla dowolnych zasobów udostępnianych przez urządzenie bez konieczności myśleć zbyt wiele o ile dokładnie gwinty tworzysz.

+2

Awesome! dokładnie to, co miałem na myśli !! Na pewno to wykorzystam! – Faruz

9

Sposób w jaki sposób C# implementuje pola event jest nowy. Nie jest już wewnętrznie bardzo szkodliwy domyślnie lock (this). Zdarzenia są nadal bezpieczne dla wątków, ponieważ zamiast tego używany jest teraz mechanizm Interlocked.CompareExchange(...).

To prowadzi do pewnych zmian, które mogą być przełamywane w niektórych skrajnych przypadkach. Więcej informacji:

12

Opcjonalne parametry to jeden z moich ulubionych. Typ dynamic wydaje się być obiecujący.

+1

Cóż, też tego nie wiedziałem. Mógłby zaoszczędzić mnóstwo bezużytecznego kodowania ... – Faruz

+0

Odpowiednie SO Pytanie, które możesz dodać do tej odpowiedzi: http://stackoverflow.com/questions/2690623/what-is-the-dynamic-type-in-c-4-0 -used-for – ParmesanCodice

+3

Po prostu zachowaj ostrożność stosując opcjonalne parametry metod publicznych/wirtualnych: http://www.stum.de/2010/04/19/how-optional-parameters-work-why-they-can-be-dangerous -i----------------------to--to są jednak bezpieczne w klasach wewnętrznych/prywatnych. –

1

Ze względu na czytelność dodam moje odkrycie, które zostało napisane w pytaniu o to samo.

Przy użyciu AJAX, można określić właściwość EnableCdn dla ScriptManager załadować wartości z CDN (takich jak Microsoft CDN)

0

wierzę, są też ulepszenia WCF, które eliminują dotychczasowe kłopoty jak nie jest w stanie skonfigurować WebGet/WebInvoke inaczej dla każdego punktu końcowego w .Net 3.5. Uważam, że jest w pełni konfigurowalny w wersji 4.0.

13

Uwielbiam fakt, że plik web.config jest mały i sensowne, a nie długie i pełne nieznanych sprawozdania ...

+2

Plus pokazuje teraz przykład transformacji XML dla Debug/Release. –

+0

Tak! Naprawdę lubię utrzymywać rzeczy tak proste, jak to tylko możliwe. –

18

string.Join() teraz ma podpis, który zaczyna IEnumerable<T> zamiast tylko string[] - niewielką poprawę która pozwala wyrwać twój kod .Select() i .ToArray().

4

Kontrakt na kod wygląda bardzo obiecująco zarówno pod względem tworzenia bardziej poprawnego kodu, jak i od momentu stworzenia pełniejszej dokumentacji. Niestety nie są jeszcze w VS2010 - musisz zainstalować dodatek i nawet wtedy nie jest on ani kompletny, ani ukończony i wydaje się, że wciąż jest pracą w toku.

+0

Dobrze. niektóre są lepsze niż żadne. –

2

Chciałbym również odnieść się do oryginalnej dokumentacji MSDN (w tym przypadku) dla Pełną listę poprawek i uzupełnień:

http://msdn.microsoft.com/en-us/library/ms171868.aspx

Z tego artykułu można łatwo znaleźć rzeczy, które mogą poprawić istniejącą podstawę kodu.

21

Klasa DirectoryInfo oprócz metod GetDirectories i GetFiles ma teraz swoje leniwe wersje EnumerateDirectories i EnumerateFiles, które uniemożliwią nam mieć duże tablice do przechowywania wszystkich obiektów na raz.

3

Pamięć podręczna ASP.net jest teraz w swoim zespole!

System.runtime.caching.dll

który oznacza, że ​​można używać w innych aplikacjach, takich jak WPF i WinForm bez konieczności ciągnięcia w całym zespole system.Web

Żałuję tylko musieliby poprawiono CacheItem tak, aby zawierał wbudowane informacje na temat elementu pamięci podręcznej, np. kiedy został dodany ... kiedy wygaśnie, itp.

+0

W rzeczywistości pamięć podręczna ASP.NET nadal znajduje się w zestawie System.Web, tak jak wcześniej. Nie jestem do końca pewien, dlaczego. (BTW, nowa pamięć podręczna wydaje się obiecująca.) – Venemo

+0

Jestem pewien, że jest to kompatybilność wsteczna. Z tego, co słyszałem, system.web.caching.cache nie zostanie ulepszony w przyszłych wersjach. – sqlray

4

Można użyć plików mapowanych w pamięci (w ten sam sposób, w jaki rodzime funkcje systemu Windows uzyskują dostęp do pamięci -mapowane pliki) do edycji bardzo dużych plików i do tworzenia pamięci współużytkowanej do komunikacji międzyprocesowej. Szczegółowe eksplikacji Apostolskiej: http://msdn.microsoft.com/en-us/library/dd997372.aspx

5

System.Numerics.BigInteger - Reprezentuje dowolnie dużą liczbę całkowitą ze znakiem.

System.Numerics.Complex - Reprezentuje liczbę zespoloną.

+1

very cool [from MSDN] => Typ BigInteger jest typem niezmiennym, który reprezentuje dowolnie dużą liczbę całkowitą, której teoretyczna wartość nie ma górnych ani dolnych granic. Ponieważ typ BigInteger jest niezmienny i nie ma górnych ani dolnych granic, wyjątek OutOfMemoryException może zostać rzucony dla każdej operacji powodującej wzrost wartości BigInteger. –

Powiązane problemy