Sortowanie danych C#

Sortowanie danych C#
twoj_stary
  • Rejestracja:ponad 4 lata
  • Ostatnio:8 dni
  • Lokalizacja:Internet
  • Postów:26
0

Jak sortujecie dane w swoim kodzie? Założmy, że chciałby sortować produkty po nazwie i cenie:

Kopiuj
private IQueryable<Product> SortProducts(IQueryable<Product> source, ProductSortingType type, SortDirection direction)
{
   var ascending = direction == SortDirection.Ascending;

   switch (type)
   {
      default:
      case ProductSortingType.Name:
         return ascending ? source.OrderBy(p => p.Name) : source.OrderByDescending(p => p.Name)
      case ProductSortingType.Price:
         return ascending ? source.OrderBy(p => p.Price) : source.OrderByDescending(p => p.Price);
   }
}

Jak można by to lepiej zaimplementować?

edytowany 1x, ostatnio: twoj_stary
BO
  • Rejestracja:około 6 lat
  • Ostatnio:11 dni
  • Postów:214
0

Ogólnie to moim zdaniem wygląda to dobrze. Jedynie nie rozumiem tego switcha. Co w nim robi instrukcja default? Nie rozumiem celu takiej pustej instrukcji. Poza tym przy dwóch przypadkach ja bym to jednak zrobił ifem zamiast switcha.

edytowany 6x, ostatnio: Botek
AK
  • Rejestracja:prawie 7 lat
  • Ostatnio:około miesiąc
  • Postów:3561
1

Mam pytanie gramatyczne
a) Załóżmy, że chciałby sortować produkty po nazwie oraz alternatywnie sortować po cenie.
b) Załóżmy, że chciałby sortować produkty po nazwie, a gdy równa, to po cenie.


Bo C to najlepszy język, każdy uczeń ci to powie
obscurity
Gramatyka (stgr. γραμματική τέχνη, łac. grammatica) – uporządkowany zbiór reguł językowych rządzących organizacją zdań, dyskursów, tekstów; innymi słowy zespół prawideł umożliwiających tworzenie złożonych jednostek językowych, ich składanie z jednostek elementarnych[1]. Gramatyka to także dział językoznawstwa zajmujący się badaniem tych wzorców.. Albo to nie są pytania gramatyczne albo nie znam definicji tego słowa

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.