メソッドの宣言
CoddyのC#ジャーニー「基礎」セクションの一部。レッスン 49/69。
メソッドとは、名前が付けられたコードの一連の処理です。メソッドの目的は、コードの一部を複数回再利用することです。
たとえば、次のコードを見てみましょう:
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("New session...");
Console.WriteLine("Welcome to Coddy");
Console.WriteLine("Another session...");
Console.WriteLine("Welcome to Coddy");同じコード Console.WriteLine("Welcome to Coddy") を何度も繰り返し使用しています。このコードのもう一つの問題は、メッセージ Welcome to Coddy を Welcome aboard のような別のものに変更したい場合、3つの異なるコード行を変更しなければならないことです。この問題を解決するために、メソッドを使用します。
メソッドを宣言するには、次の構文を使用します:
access_modifier [modifiers] return_type method_name(parameters) {
// コード
}この例では、Greet という名前のメソッドを作成します。次のようになります:
public static void Greet() {
Console.WriteLine("Welcome to Coddy");
}分解すると:
publicはアクセス修飾子です(誰がこのメソッドを使用できるかを制御します)staticは修飾子です(method がクラス自体に属することを意味します)voidは戻り値の型です(値を何も返さないことを意味します)Greetはmethod名です()にはparametersが含まれます(ここでは空です)
今は、method名の前に常に public static と書いてください。それぞれの単語の意味については、後で説明します。
メソッドを使用/呼び出し/実行するには、Greet();と記述します:
Greet();
Console.WriteLine("New session...");
Greet();
Console.WriteLine("Another session...");
Greet();これにより、上記と同じ出力になります。
注: C#では、class 内の method 宣言の順序は重要ではありません。コンパイラーは最初に class 全体を読み取るため、method はソースコード内でその定義の前後に関係なく called できます。どちらも valid です。
たとえば、C#では次のどちらも正しいです:
// メソッドが最初に定義され、その後呼び出される public static void Greet() { Console.WriteLine("Welcome to Coddy"); } Greet(); Console.WriteLine("New session..."); Greet();
// メソッドは最初に呼び出され、後で定義されている — C#でも有効 Greet(); Console.WriteLine("New session..."); Greet(); public static void Greet() { Console.WriteLine("Welcome to Coddy"); }
チャレンジ
簡単1つの入力として数値を受け取るプログラムを書いてください。入力された数値は、以下のメソッドを何回実行するかを示します。
1から1000までのすべての数値(両端を含む)の合計を計算して出力するメソッドを作成してください。メソッド名は自由に付けてかまいません。
自分で試してみよう
using System;
public class Program {
// メソッドの宣言
public static void SumNumbers() {
// メソッドを完成させる
}
public static void Main(string[] args) {
int n = int.Parse(Console.ReadLine());
for (int i = 0; i < n; i++) {
// メソッドをn回呼び出す
}
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ