Wpis z mikrobloga

Cześć Mirki.

Jakiś czas temu prosiłem, by ktoś zerknął okiem na moje wypociny i powiedział co poprawić / zmienić.

Dzisiaj prosiłbym o to samo. Co to jest? Od nowa pisałem (dalej pisze) w C# (UWP) Rozkład jazdy sieci KZKGOP (na slasku). Jakby ktoś miał czas na zerknięcie, komuś się nudzi w pracy itp, to byłbym wdzięczny za jakieś rady od fachowców. :)

PS. jestem w 3 technikum
Link: https://github.com/gtteamamxx/Rozklad-Jazdy-v2

#programowanie #naukaprogramowania #csharp
  • 13
  • Odpowiedz
@MroczekBall3D: fachowcem może bym się nie nazwał ale mi się nudzi więc się trochę poczepiam

w losowym pliczku znalazłem:

mainAppFrame.BackStack.ToList().ForEach(p =>
{
if (p.SourcePageType == typeof(Pages.Lines.LineBusStopPage))
mainAppFrame.BackStack.Remove(p);
});

i czemu akurat tak?
a nie np tak, skoro chcesz z lambdą:
mainAppFrame.BackStack = mainAppFrame.BackStack.Where(x => x.SourcePageType != typeof(Pages.Lines.LineBusStopPage));
jakoś tak schludniej wygląda moim zdaniem :)
(nie sprawdzałem jakiego typu jest BackStack, ale zakładam że to coś co implementuje IEnumerable)

Tutaj też nie
  • Odpowiedz
  • 0
@KontoUsuniete @KontoUsuniete chyba źle się wyraziłem. Chodziło mi o to że często można takie bezpośrednie (gdzie w pierwszym bloku masz drugi blok i nic poza tym) zagnieżdżenie uprościć do jednego. I nie widzę przeszkód żeby w tym przypadku o którym mówię u góry napisać using (var response= new HttpClient().GetAsync(url)){}
A co do Twojego pytania to zawsze możesz mnie oświecić :)
  • Odpowiedz
@jaggi: Co do: mainAppFrame.BackStack = mainAppFrame.BackStack.Where(x => x.SourcePageType != typeof(Pages.Lines.LineBusStopPage)); To dzieki wielkie, nie wpadłem na to :D

Co do kilku argumentów w jednej linijce, to zależy myśle od gustu, ale wezmę pod uwagę :)

nt. wyłapania exception, to nie potrzebowałem tego w tym przypadku. Ponieważ w dalszej części kodu, jesli zwrócony adres to "" (czyli ten catch) to pokazuje, że jest problem w interfejsie, i bla bla czy chcesz spróbowac
  • Odpowiedz
Co do statycznie/globlanie, to też racja. Nie widziałem innego sposobu, ale teraz widzę, że można to lepiej zrobić. Np. poprzez singleton

jesteś pewien że takich nazw nie dałoby się uprościć?
GetIsBackFromPageAllowed

IsBackAllowed? ^^
  • Odpowiedz
edit, co do: mainAppFrame.BackStack = mainAppFrame.BackStack.Where(x => x.SourcePageType != typeof(Pages.Lines.LineBusStopPage)); - Już wiem, czemu nie zrobiłem tak. Ponieważ mainAppFrame jest instancją Frame, a Frame.BacksStack jest read-only. A IEnumerable pozwala mi tylko usunąć/dodać, dlatego musiałem to zrobić w w.w sposób.
  • Odpowiedz