Tworzę aplikację konsolową i mam „Menu”, w którym użytkownik może wprowadzić informacje, aby utworzyć nowy obiekt Person. Poniżej przedstawiono metodę.
Write("Please enter the first name: ", false);
string fName = Console.ReadLine().ToUpper();
Write("Please enter the middle initial: ", false);
string mInitial = Console.ReadLine().ToUpper();
Write("Please enter the last name: ", false);
string lName = Console.ReadLine().ToUpper();
lubię to. Chcę, aby użytkownik mógł w dowolnym momencie wyjść z metody, jeśli zdecyduje, że nie chce tworzyć nowej osoby. Chciałbym więc stworzyć nową metodę o nazwie „CheckExit”, a jeśli wpisze „EXIT”, opuści metodę „CreatePerson”. Chcę więc, aby „CheckExit” zwrócił zwrot. W przeciwnym razie muszę dodawać instrukcję „if” po każdym wejściu, co powoduje bałagan.
czy to możliwe? Czy zwrot ma typ zwrotu? Jaki byłby właściwy sposób to zrobić?
c#
console
return
return-type
Arkyris
źródło
źródło
throw exception
w metodzie iwreturn
odpowiednimcatch
Odpowiedzi:
return
nie jest typem, który możesz zwrócić, to słowo kluczowe do zwrócenia wyniku. Niestety, to, co próbujesz zrobić, nie jest możliwe. Możesz jednak uczynić kod znacznie bardziej czytelnym i rozszerzalnym, korzystając z tablicy zapytań i uzyskując wyniki dla każdego wnętrza pętli. Daje to dodatkowy efekt łatwego dodawania kolejnych zapytań.źródło
Możesz stworzyć metodę odczytu z konsoli, aby zautomatyzować ten proces, coś w rodzaju
Twój kod wyglądałby następująco:
źródło
throw new Exception()
i łapiąc ją. W frameworku znajduje się także wyjątek OperationCanceledException, którego nazwa prawdopodobnie pasuje do tego, co próbujesz zrobić i może mieć sens z jego użycia. Zwykle rzucamy różne typy wyjątków, abyśmy mogli rozróżnić łapanie niektórych, a nie innych, ale w zasadzie jedynym sposobem na powrót metody podrzędnej do metody zewnętrznej jest rzut metody podrzędnej, funkcja zewnętrzna nie przechwytuje, a następnie zwraca kontrolę do metody nad zewnętrznym / „return return”Instrukcje return służą do zwracania wartości z metody, która ma typ zwracany. Kiedy piszesz metodę z void jako typem zwracanym, możesz użyć
return;
do wyjścia z metodynp. następująca metoda używa łańcucha jako typu zwracanego,
Jeśli piszesz metodę, która tworzy obiekt i zwraca go do metody wywołującej, wówczas zwracanym typem będzie Osoba (chyba że masz zamiar zrobić coś innego). Jeśli sprawdzisz dane wprowadzone przez użytkownika i zdecydujesz, że nie chcesz utworzyć Osoby, możesz użyć
return null;
.I możesz użyć tej metody w Main,
źródło
CreatePerson
natychmiast opuść metodę .Jedynym sposobem jest użycie,
return
jeśli chcesz zakończyć metodę. Ale możesz skrócić swój kod coś takiego:źródło