コンテンツにスキップ

付録C:C#の基本構文

Pythonでこう書いていたものが、C#ではどうなるかの一覧です。

項目 Python C Sharp (Unity)
文の終わり 改行 セミコロン(;
ブロックの表現 インデント(字下げ) 波括弧 { }
コメント # これはコメント // これはコメント
複数行コメント ''' 複数行 ''' /* 複数行 */
画面出力 print("Hello") Debug.Log("Hello");
変数宣言 x = 10 int x = 10;
文字列 name = "太郎" string name = "太郎";
小数 pi = 3.14 float pi = 3.14f;
真偽値 is_ok = True bool isOk = true;
条件式の括弧 if x > 5: if (x > 5)
関数定義 def func(): void Func()
プログラムの開始 if __name__ == "__main__": void Start()
繰り返し実行 while True:ループ void Update()
実行方法 python ファイル名.py Unityの再生ボタン(▶)
停止方法 Ctrl+C 停止ボタン(■)
  • 大文字小文字を区別Stringstringは別物
  • 型は厳密:一度決めた型はあとから変えられない
  • nullという値がある:「何もない」を表す特別な値
  • 配列は長さが固定:Pythonのリストのように後から増やせない
型名 説明 Pythonでは
int 整数 10, -5, 0 整数そのまま
float 小数(単精度) 3.14f, -0.5f 小数そのまま
string 文字列 "Hello", "Unity" 文字列そのまま
bool 真偽値 true, false True, False
double 小数(倍精度) 3.14159265 小数そのまま
char 1文字 'A', 'あ' 文字列の1文字目

doublefloatの倍のビット数を使うので、より細かい小数まで扱えます (double=2倍、が名前の由来)。Unityではfloatを使うのが基本です。

// 基本的な変数の型
int number = 10; // 整数
float speed = 5.5f; // 小数(fを付ける)
string name = "Unity"; // 文字列
bool isActive = true; // 真偽値(true/false)
// Unity特有の型
Vector2 position = new Vector2(1, 2); // 2D座標
Vector3 position3D = new Vector3(1, 2, 3); // 3D座標
Color myColor = Color.red; // 色
// if文の基本
if (score > 100)
{
Debug.Log("ハイスコア!");
}
else if (score > 50)
{
Debug.Log("まあまあ");
}
else
{
Debug.Log("がんばろう");
}
// switch文
switch (level)
{
case 1:
Debug.Log("初級");
break;
case 2:
Debug.Log("中級");
break;
default:
Debug.Log("上級");
break;
}
// for文(回数指定)
for (int i = 0; i < 10; i++)
{
Debug.Log("カウント: " + i);
}
// while文(条件が真の間)
while (isRunning)
{
// ゲームが実行中の処理
UpdateGame();
}
// foreach文(配列やリストの要素を順番に処理)
foreach (GameObject enemy in enemies)
{
enemy.SetActive(false);
}
// 基本的なメソッド
void SayHello()
{
Debug.Log("こんにちは!");
}
// 引数があるメソッド
void AddScore(int points)
{
score += points;
Debug.Log("スコア: " + score);
}
// 戻り値があるメソッド
float CalculateDamage(float attack, float defense)
{
return attack - defense;
}

エラーが出たときの対処法は付録E:困ったときはにまとめてあります。