Deklarowanie metod
Część sekcji Podstawy ścieżki C# w Coddy. Lekcja 49 z 69.
Metoda to sekwencja kodu, która ma nazwę. Celem metody jest wielokrotne używanie fragmentu kodu.
Na przykład przyjrzyj się temu kodowi:
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("New session...");
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("Another session...");
Console.WriteLine("Welcome to Coddy");Wciąż używamy tego samego kodu Console.WriteLine("Welcome to Coddy"). Kolejnym problemem związanym z tym kodem jest to, że gdybyśmy chcieli zmienić wiadomość: Welcome to Coddy na coś innego, na przykład Welcome aboard, trzeba byłoby zmienić 3 różne linie kodu. Aby rozwiązać ten problem, użyjemy metod.
Aby zadeklarować metodę, używamy następującej składni:
access_modifier [modifiers] return_type method_name(parameters) {
// kod
}W naszym przykładzie utworzymy metodę o nazwie Greet i będzie ona wyglądać tak:
public static void Greet() {
Console.WriteLine("Welcome to Coddy");
}Rozłóżmy to na części:
publicto modyfikator dostępu (określa, kto może używać tej metody)staticto modyfikator (oznacza, że metoda należy do samej klasy)voidto typ zwracany (oznacza, że metoda nie zwraca żadnej wartości)Greetto nazwa metody()zawiera parametry (tutaj nie ma żadnych)
Na razie po prostu zawsze zapisuj public static przed nazwą metody — później wyjaśnimy, co oznacza każde z tych słów.
Aby użyć/wywołać/wykonać metodę, piszemy Greet();:
Greet();
Console.WriteLine("New session...");
Greet();
Console.WriteLine("Another session...");
Greet();Da to taki sam wynik jak powyżej.
Uwaga: W języku C# kolejność deklaracji metod w obrębie klasy nie ma znaczenia. Kompilator najpierw odczytuje całą klasę, więc metodę można wywołać przed jej definicją lub po niej w kodzie źródłowym — obie możliwości są prawidłowe.
Na przykład oba poniższe zapisy są poprawne w języku C#:
// Metoda najpierw zdefiniowana, potem wywołana public static void Greet() { Console.WriteLine("Welcome to Coddy"); } Greet(); Console.WriteLine("New session..."); Greet();
// Metoda wywołana NAJPIERW, zdefiniowana później — to również jest poprawne w C# Greet(); Console.WriteLine("New session..."); Greet(); public static void Greet() { Console.WriteLine("Welcome to Coddy"); }
Wyzwanie
ŁatwyNapisz program, który pobiera jedno dane wejściowe — liczbę. Liczba ta wskazuje, ile razy należy wykonać poniższą metodę.
Utwórz metodę, która oblicza sumę wszystkich liczb od 1 do 1000 (włącznie) i ją wyświetla. Nazwij metodę, jak chcesz.
Spróbuj swoich sił
using System;
public class Program {
// Deklaracja metody
public static void SumNumbers() {
// Uzupełnij metodę
}
public static void Main(string[] args) {
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++) {
// Wywołaj metodę n razy
}
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczne7Podstawowe wejście i wyjście
Podstawowe wyjścieInterpolacja ciągów znakówOdczytywanie danych wejściowychParsowaniePowtórka — do 120Powtórka — prawda czy fałsz10Metody (funkcje)
Deklarowanie metodParametry metodTypy zwracaneParametry opcjonalnePodsumowanie – funkcja walidującaMetody void5Operatory część 2
Operatory porównaniaOperatory logiczne część 1Operatory logiczne część 2Powtórka — prosta logikaOperatory logiczne część 36Podejmowanie decyzji
Instrukcja ifIf - ElseInstrukcja switchOperator trójargumentowyPowtórzenie - If ElseZagnieżdżone If - Else9Pętle
Pętla forPętla whilePętla do whileInstrukcja breakInstrukcja continueZagnieżdżona pętlaNieskończona pętlaPowtórzenie – dynamiczne dane wejściowe12Operacje na ciągach znaków
Metody ciągów znaków – część 1Metody ciągów znaków – część 2Formatowanie ciągów znakówPoćwicz samodzielnie: Kompilator C# online