C#

C#入門向けチートシート

2025年3月23日
1

C#の基本

データ型
int number = 10;
double price = 15.99;
string name = "C#";
bool isActive = true;
char grade = 'A';
数値、文字列、論理値など基本的なデータ型
変数宣言
// 明示的な型指定
string message = "Hello";

// 型推論(var)
var count = 5; // int型と推論
コメント
// 一行コメント

/*
複数行の
コメント
*/
C#は強い型付け言語です。型変換には注意しましょう!

演算子

算術演算子
int sum = a + b; // 加算
int diff = a - b; // 減算
int prod = a * b; // 乗算
int quot = a / b; // 除算
int rem = a % b; // 剰余
比較演算子
bool isEqual = (a == b);
bool isNotEqual = (a != b);
bool isGreater = (a > b);
bool isLess = (a < b);
論理演算子
bool andResult = (a && b);
bool orResult = (a || b);
bool notResult = !a;

制御構造

条件分岐 (if-else)
if (score >= 80) {
  Console.WriteLine("優");
} else if (score >= 60) {
  Console.WriteLine("良");
} else {
  Console.WriteLine("可");
}
ループ
// forループ
for (int i = 0; i < 5; i++) {
  Console.WriteLine(i);
}

// whileループ
int j = 0;
while (j < 5) {
  Console.WriteLine(j);
  j++;
}

// foreach (コレクション向け)
foreach (var item in items) {
  Console.WriteLine(item);
}
switch文
switch (day) {
  case "月":
    Console.WriteLine("月曜日");
    break;
  case "火":
    Console.WriteLine("火曜日");
    break;
  default:
    Console.WriteLine("その他");
    break;
}

コレクション

配列 (Arrays)
// 宣言と初期化
int[] numbers = new int[5];
string[] names = { "山田", "鈴木", "佐藤" };

// アクセス
int first = numbers[0];
numbers[1] = 10;
リスト (List)
// 名前空間の追加
using System.Collections.Generic;

// 宣言と初期化
List<string> fruits = new List<string>();
fruits.Add("りんご");
fruits.Add("バナナ");

// メソッド
fruits.Remove("りんご");
bool hasApple = fruits.Contains("りんご");

クラスとオブジェクト

クラス定義
public class Person {
  // フィールド
  private string name;
  private int age;

  // コンストラクタ
  public Person(string name, int age) {
    this.name = name;
    this.age = age;
  }

  // プロパティ
  public string Name {
    get { return name; }
    set { name = value; }
  }

  // メソッド
  public void Greet() {
    Console.WriteLine($"こんにちは、{name}です。");
  }
}
インスタンス作成
// オブジェクトの作成
Person person1 = new Person("田中", 25);

// プロパティへのアクセス
string name = person1.Name;
person1.Name = "鈴木";

// メソッドの呼び出し
person1.Greet(); // "こんにちは、鈴木です。"

例外処理

try-catch-finally
try {
  // 例外が発生する可能性のあるコード
  int result = 10 / 0;
} catch (DivideByZeroException ex) {
  // 特定の例外をキャッチ
  Console.WriteLine("ゼロで除算できません");
} catch (Exception ex) {
  // その他の例外をキャッチ
  Console.WriteLine($"エラー: {ex.Message}");
} finally {
  // 例外の有無にかかわらず実行
  Console.WriteLine("処理が終了しました");
}
例外処理はパフォーマンスコストが高いので、想定される例外のみを対象にしましょう!

よく使う名前空間

基本的な名前空間
using System; // 基本
using System.Collections.Generic; // List, Dictionary等
using System.Linq; // LINQ
using System.IO; // ファイル操作
using System.Text; // 文字列操作
using System.Threading.Tasks; // 非同期処理