C#入門:コードは必ずブロック { } の中に書こう

C# では、コードは必ず「ブロック { }」の中に書く必要があります。

ブロック外に記述するとエラーや意図しない動作が発生します。初心者がつまずきやすい典型例や、インデントとの違い、さらに Unity での注意点もあわせて解説します。


1. ブロックとは?

ブロックとは、{ } で囲まれたコードのまとまりのことです。

  • クラス → メソッドやフィールドをまとめる
  • メソッド → 実行される処理をまとめる
  • if / for / while など → 条件分岐や繰り返しの処理をまとめる

💡 補足「処理は必ずブロックの中」という意識を持つことで、エラーを減らせます。


2. ブロック外にコードを書くとエラーになる

using System;

class Program
{
    Console.WriteLine("Hello!"); // ❌ エラー
}

⚠️ 注意 クラスの直下に書けるのは「フィールド・プロパティ・メソッド定義」だけ。実際に動く処理文は必ずメソッドの中に。


3. 正しいコードの書き方

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello!"); // ✅ OK
    }
}

4. if / for とブロック

if (true)
    Console.WriteLine("1行なら省略可");

if (true)
{
    Console.WriteLine("複数行なら");
    Console.WriteLine("必ずブロックで囲む");
}

💡 Tips 初学者は常に { } を書く習慣をつけると安全です。


5. 初心者がつまずく例

  • メソッド外に処理を書く
  • if の波かっこ忘れで意図しない動作
  • インデントに頼る(C# は { } が必須)

6. インデントとブロックの違い

  • C# → { } がブロック、インデントは見やすさのため
  • Python → インデントがブロックを決める

7. Unity の場合の補足

Unity スクリプトも C# で書くため、同じルールが適用されます。

public class MyScript : MonoBehaviour
{
    Debug.Log("Hello!"); // ❌ エラー
}

➡ 正しい書き方:Start や Update のブロック内に処理を書く

public class MyScript : MonoBehaviour
{
    void Start()
    {
        Debug.Log("Hello!"); // ✅ OK
    }
}

💡 Tips(Unity初心者向け)

  • フィールドはクラス直下に置ける
  • Debug.Log など処理文は 必ずメソッド内
  • 「場所の間違い」で出るエラーが初心者に多い

8. 図解で理解する

Unity スクリプトの基本構造


Unity のライフサイクル


if の { } 省略の落とし穴


9. まとめ

  • C# ではコードは必ず { } 内に書く
  • Unity でも同じ。Debug.Log などはメソッド外に置けない
  • エラーの多くは「場所の間違い」から発生している

訪問数 4 回, 今日の訪問数 4回

C#,Unity

Posted by hidepon