Press "Enter" to skip to content

c# like a perl

Wielokrotnie słyszałam, jak chłopaki komentowali taki język jak perl. Jako główną wadę wymienili mnogość konwencji zapisu pewnych elementów języka. Prawda jest taka, że w C# nie jest lepiej. Weźmy sobie dla przykładu taką oto klasę.

W funkcji generującej przykładową listę produktów widzimy całą gamę możliwości stworzenia obiektu. Oczywiście wszystkie one działają, co można sprawdzić umieszczając wywołanie tej funkcji w klasie wykonywalnej (zwykle Program.cs/MainPage.cs).
Tutaj mam prośbę do czytelników. A może funkcję PobierzPrzykladowe idzie zapisać bardziej nieczytelnie (ofc każdy ze sposobów jest czytelny, ale za brak ujednolicenia tworzenia obiektu ktoś by mi mógł uszy pourywać)? Jak Ty najczęściej tworzysz obiekt/wywołujesz funkcję?
Zabawa listami może być ciekawa, chociażby dlatego, że przy użyciu linq możemy użyć ich tak, jakby lista była bazą danych – dokonując dowolnej operacji dla niej dostępnej. Rzućcie okiem na ten kawałek kodu:

Mamy tutaj użyte standardowe wyświetlanie elementów listy, sortowanie ich, wyświetlanie tylko elementów spełniających dane kryteria – czyli działania, jakie zwykle wykonujemy na bazach danych. Oki, nie wszystkie zostały ujęte. Jeśli chodzi o dodanie elementu, byłby to lista.Add(obiekt), usunięcie wykonuje się poleceniem Remove i podobnymi (jak RemoveAll), zaś aktualizacja (update) jest dokonywana poprzez odwołanie się do konkretnego obiektu i zmiany wartości pola/pól obiektu. Niestety, lista ma to do siebie, że jest ulotna – ale przecież to żaden problem – można ją zserializować spokojnie i wczytać po ponownym uruchomieniu aplikacji.
I tak oto się zrównało C# z perlem:)

One Comment

  1. adminka adminka

    sorry, coś nie wiadomo czemu wtyczka jak na złość uważa zwykle oznaczenie typu z templejtu jako tag htmlowy – zmiana na symbol zastępczy ze względu na znacznik pre nie jest interpretowana. W związku z tym końcówkę musicie przy testowaniu kodu po prostu wyciąć. Ja już nie mam siły do tego – a rzygam technologiami webowymi – więc wtyczki modyfikować nie będę. Zawsze możesz wyłączyć jsa (ale stracisz kolorki i numerowanie)

Comments are closed.