W języku C#, będzie używać Select()
do wyświetlania elementów z elementu zatrzymującego element IOrderedEnumerable
?Czy IOrderedEnumerable.Select() zachowa kolejność elementów?
- Jeśli tak, dlaczego to zwraca
IEnumerable
, a nieIOrderedEnumerable
? - Jeśli nie, jak mogę to osiągnąć (oprócz korzystania z
foreach
)?
Zauważ, że to pytanie nie jest duplikatem this one - Mam tylko Select()
klauzulę, wihtout Distinct()
.
EDIT
Tak, to jest LINQ to Objects. BTW, czy odpowiedź byłaby inna, gdybym faktycznie zadawała pytania SQL DB?
Prawdopodobnie. Chociaż nie używam 'select', często stronicuję wyniki, najpierw zamawiając wyniki, a następnie wywołując' Skip' i 'Take', aby uzyskać podzbiór wyników związanych z bieżącą stroną. Zamówienie zawsze było niezawodnie utrzymywane, więc oczekiwałbym, że będzie działać tak samo podczas 'Select' ... po prostu przetestuj go i zobacz – musefan
Czy to LINQ to Objects? –
Jest trochę więcej szczegółów, kiedy używać 'IOrderedEnumerable' (i jego zastosowań, głównie stosując kryteria sortowania wtórnego) w tym poście http://stackoverflow.com/questions/8518557/when-to-return-iorderedenumerable –