メソッド(関数)
メソット(関数)とは処理をまとめたものです。また、それを呼び出すことができます。
今までに使っていたConsole.WriteLine()やstring.Split()、int.Parse()などもメソッドです。
※Unityで使用しているStart()やUpdate()もメソッドです。
メソッドは関数と呼ぶこともあります。C#ではメソッドと関数は同じと考えてOKです。
メソッドの定義方法は以下です。
修飾子 戻り値の型 メソッド名(引数の型 引数名, ...)
{
...メッソッドの処理
}
以下は挨拶をする関数SayHelloを定義しています。
using System;
public class Hello{
public static void Main(){
var person = new Person();
person.SayHello("Taro");
}
}
public class Person
{
public void SayHello(string name)
{
Console.WriteLine($"Hello, {name}");
}
}
メソッド名
メソッドの命名はパスカルケースで行います。
パスカルケースとはShowやToStringなど、単語の先頭を大文字にする記法です。
メソッド名の命名規則ではありませんが、AddElementのように「動詞 + 名詞」の形式で命名することをおすすめします。
動詞は慣例的によく利用されるものを以下の表に記載します。
| 動詞 | 役割 | 動詞 | 動詞 |
|---|---|---|---|
| Add | 追加 | Remove | 削除 |
| Get | 取得 | Set | 設定 |
| Insert | 挿入 | Delete | 削除 |
| Begin | 開始 | End | 終了 |
| Start | 開始 | Stop | 終了 |
| Open | 開く | Close | 閉じる |
| Read | 読み込む | Write | 書き込み |
| Send | 送信 | Recive | 受信 |
| Create | 生成 | Initalize, Init | 初期化 |
引数と戻り値
引数とはメソッドの中で参照可能な変数のことです。
メソッドを呼び出す際に、呼び出し側からメソッドに値を渡すために利用します。
引数の受け取り側の変数を仮引数と呼ぶ場合もあります。
引数の個数の上限は65536個なので、実質的に無制限です。ただし引数の把握のしやすさを考えば、5〜7個程度が実質的な上限です。
戻り値とはメソッドが処理をした結果を表します。戻り値はreturn命令によって表します。
値を戻さないメソッドはvoid型を指定します。戻り値の型がvoidである場合はreturn;と値を指定せずに書きます。
※voidの場合はreturn命令は書かなくても動作します。
戻り値の型がvoid以外の場合は必ずreturn 値;を書く必要があります。
using System;
public class Hello{
public static void Main(){
var person = new Person();
person.SayHello("Taro");
Console.WriteLine(person.CreateHello("Taro"));
}
}
public class Person
{
public void SayHello(string name)
{
Console.WriteLine($"Hello, {name}");
}
public string CreateHello(string name)
{
return $"Hello, {name}";
}
}
以下はこれまでにつかっていた引数と戻り値の例です。
// "Hello"が引数
Console.WriteLine("Hello");
string str = "50,60,70";
// ','が引数であり、戻り値を変数dataに代入している
string[] data = str.Split(',');
// data[0]が引数であり(値は"50")、戻り値(整数に変換した値)を変数nに代入している
int n = int.Parse(data[0]):
参考
「独習C#」7.3 メソッド