Czy można w DisplayContact() pominąć lambdę i napisać nieco bardziej topornie? Moim pierwotnym założeniem było napisanie, korzystając z LINQ,a później refaktoryzacja z pamięci, w ramach ćwiczeń. Dlatego napisałem boola, a potem odniosłem się do niego jako do predykatu. Jednak kompilator wyrzuca CS0120 "Dla niestatycznego pola, metody lub właściwości "Contact.Number" wymagane jest odwołanie do obiektu. Kiedy stosuję lambę wg. Twojego zapisu, wszystko działa poprawnie, a przecież obydwa zapisy powinny być poprawne . :P
@FullstackDeveloperPL3 жыл бұрын
mógłbyś jakoś tutaj wkleić kod który napisałeś ?;p ciężko mi się odnieść nie widząc jak to dokładnie chciałeś zrobić
@mateuszsadowski16943 жыл бұрын
@@FullstackDeveloperPL public void DisplayContact(string number) { bool NumberMatchesContact (Contact number) { return Contact.Number == number; } var foundnumber = Contacts.FirstOrDefault(NumberMatchesContact); } /// Jak widać, nie ma lambdy. Jest bool, który jest moim predykatem. Na to dostaję ten kod, który napisałem. Siedzę nad tym chwilę i może już nie ogarniam :D, ale będę wdzięczny za każdą wskazówkę.
@FullstackDeveloperPL3 жыл бұрын
@@mateuszsadowski1694 w tej lokalnej predykacie NumberMatchesContact masz paramter typu Contanct o nazwie 'number' (ta sama nazwa co nazwa parametru do metody DisplayContact) także w "return Contact.Number..." kompilator myśli że Contact.Number to jakies statyczne pole, które nie istnieje na tym typie - stąd ten błąd "Dla niestatycznego pola, metody lub właściwości "Contact.Number" wymagane jest odwołanie do obiektu" rozwiązanie: bool NumberMatchesContact (Contact contact) { return contact.Number == number; }
@mateuszsadowski16943 жыл бұрын
@@FullstackDeveloperPL No, teraz wszystko jasne :D. Dziękuję za szybką odpowiedź!
@FullstackDeveloperPL3 жыл бұрын
@@mateuszsadowski1694 nie ma sprawy, fajnie że sam coś też probujesz. Polecem jeszcze kurs LINQ z mojego kanału obejrzeć poźniej ;p
@karolsz73 жыл бұрын
W koncu cos praktycznego. Wrzucisz wiecej tego typu materialow z egzemplifikacja aplikacja c#? Leci sub, pzdr
@FullstackDeveloperPL3 жыл бұрын
hej, myślę, że mógłby Ci się też spodobać te materiały: kzbin.info/www/bejne/Zp2uYax_hsdgg6c, kzbin.info/www/bejne/i4PQaX-sgLiAj5o, gdzie pokazuję rozwiązania zadań/algorytmów
@kno11812 жыл бұрын
Cześć. Czy jest szansa abyś rozwiązał zadane przez siebie zadanie z końca materiału? Walidacja numeru >3 znaków jest dosyć prosta, jednak dodanie metody usuń kontakt mnie przerosło;/. Dodatkowo pomyślałem, że walidacja numeru byłaby sensowna gdyby nie tylko sprawdzała długość numeru, ale też sprawdzała czy podany numer to ciąg cyfr, a nie dowolnych znaków. Niestety tego też nie udało mi się zrobić.
@FullstackDeveloperPL2 жыл бұрын
dołącz na serwer discord i podrzuc swoją próbe rozwiązania, powinna się znaleźć pomoc, czy to ode mnie czy od innych :)
@kno11812 жыл бұрын
@@FullstackDeveloperPL dziękuję za odpowiedź, z chęcią dołączę do DSC
@El_kammex2 жыл бұрын
Oceni ktoś czy tak można rozwiązać metodę usuwającą kontakt: public void deleteContact(string number) { foreach (var element in Contacts) { if(element.getNumber() == number) { Contacts.RemoveAt(Contacts.IndexOf(element)); Console.WriteLine("contact removed"); return; } } Console.WriteLine("invalid number"); }