✏️

メソッド定義・引数・戻り値をChatGPTと対話しながら学んだ記録

に公開

はじめに

現在、復職準備の一環として、C#の基本をChatGPTと対話しながら学び直しています。今回は「メソッドの定義・引数・戻り値」に焦点を当てて、理解を深めた内容と気づきをまとめます。

学んだこと

メソッドの定義と基本構造

public static int Add(int a, int b)
{
    return a + b;
}
  • int Add(int a, int b) でメソッドを定義
  • ab は引数、int は戻り値の型
  • return は処理結果を呼び出し元に返す

voidメソッドと出力のみの処理

public static void ShowGreeting(string name)
{
    Console.WriteLine("Hello, " + name + "!");
}
  • 戻り値が不要な場合は void を使う
  • Console.WriteLine は画面出力のみで値は返さない

doubleを返すメソッドと型の扱い

public static double GetAverage(int a, int b)
{
    return (a + b) / 2.0;
}
  • 2.0 にすることで整数除算ではなく小数計算になる
  • int / doubledouble 型で計算される

条件分岐と複数の返り値候補

public static string Compare(int a, int b)
{
    if (a > b) return "a is greater";
    else if (a < b) return "b is greater";
    else return "a and b are equal";
}
  • 条件に応じて返す文字列を変える
  • if → else if → else は上から順に条件をチェック

気づきと振り返り

  • メソッドの戻り値と Console.WriteLine の違いが明確になった
  • double 型の扱いでは、精度と計算ルールに注意が必要
  • return を使わない処理(副作用)と、値を返す処理の使い分けが感覚的にわかってきた
  • 読むだけでなく、自分の言葉で説明してみることで理解が一段深まった

おわりに

この学びは、実際のコードレビューやテスト設計時に必ず役立つと感じています。また、既存メソッドのリファクタリングや、他人の書いたコードの読解にも応用できそうです。次はクラスとインスタンスの構造に進みます。

Discussion