メソッドの宣言
CoddyのC#ジャーニー「基礎」セクションの一部。レッスン 49/70。
メソッドとは、名前が付いたコードの一連の処理です。メソッドの目的は、コードの一部を何度も再利用することです。
たとえば、このコードを見てみましょう。
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は修飾子です(メソッドがクラス自体に属することを意味します)voidは戻り値の型です(値を返さないことを意味します)Greetはメソッド名です()にはパラメーターが含まれます(ここでは空です)
今は、メソッド名の前に必ずpublic staticと書いてください。それぞれの単語の意味は後で説明します。
メソッドを使用/呼び出し/実行するには、Greet();と書きます。
Greet();
Console.WriteLine("New session...");
Greet();
Console.WriteLine("Another session...");
Greet();これにより、上記と同じ出力になります。
注: C#では、クラス内のメソッド宣言の順序は関係ありません。コンパイラーはクラス全体を先に読み込むため、ソースコード内でメソッドの定義より前でも後でも、そのメソッドを呼び出せます。どちらも有効です。
たとえば、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#オンラインコンパイラ