C#サンプルコード集|初心者がすぐ使える基本文法・実践例・エラー解決まで解説
はじめに
C#は、Windowsアプリ、Webアプリ、ゲーム、業務システム、API開発など幅広い分野で使われているプログラミング言語です。文法が比較的わかりやすく、開発環境も整っているため、初心者が最初に学ぶ言語としても人気があります。
この記事では、「c# サンプルコード」と検索している初心者向けに、基本文法から実践的な処理、エラー解決、オブジェクト指向まで、すぐに試せるC#サンプルコードをまとめて解説します。
コードはできるだけ短く、コピペして動かしやすい形で紹介します。まずは実行して動きを確認し、少しずつ値や処理を変えながら理解を深めていきましょう。
1. C#サンプルコードを使う前に知っておきたいこと
1-1. C#でできることとサンプルコードを学ぶメリット
C#では、次のような開発ができます。
C#// C#で作れるものの例
// ・コンソールアプリ
// ・Windowsデスクトップアプリ
// ・Webアプリ
// ・Web API
// ・ゲーム
// ・スマートフォンアプリ
// ・業務システム
サンプルコードを使って学ぶメリットは、実際に動くコードを見ながら文法や処理の流れを理解できることです。説明だけを読むよりも、コードを実行して結果を見るほうが、初心者にはわかりやすいです。
1-2. 初心者が「c# サンプルコード」で検索する主な悩み
初心者がC#のサンプルコードを探すときは、次のような悩みが多いです。
C#// よくある悩み
// ・C#の書き方がわからない
// ・どこにコードを書けばいいかわからない
// ・コピペしたコードが動かない
// ・エラーの意味がわからない
// ・基本文法をまとめて確認したい
// ・実用的なサンプルを知りたい
この記事では、基本的な書き方だけでなく、エラーが出たときの対処法も紹介します。
1-3. コピペで動かす前に確認すべき実行環境
C#のサンプルコードを動かすには、主に次の環境を使います。
C#// C#を実行する主な環境
// ・Visual Studio
// ・Visual Studio Code
// ・オンラインコンパイラ
// ・.NET SDK
初心者にはVisual Studioがおすすめです。プロジェクト作成から実行までがわかりやすく、C#開発に必要な機能が最初からそろっています。
1-4. 本記事で学べるC#サンプルコードの範囲
この記事では、次のようなC#サンプルコードを扱います。
C#// 本記事で扱う内容
// ・Hello World
// ・変数とデータ型
// ・条件分岐
// ・繰り返し処理
// ・配列とList
// ・メソッド
// ・クラス
// ・ファイル操作
// ・CSV処理
// ・LINQ
// ・例外処理
// ・オブジェクト指向
初心者がC#の基礎を理解し、簡単なアプリを作れるようになることを目標にしています。
2. C#サンプルコードを実行する準備
2-1. Visual StudioでC#を実行する手順
Visual StudioでC#を実行する基本手順は次のとおりです。
C#// 1. Visual Studioを起動
// 2. 「新しいプロジェクトの作成」を選択
// 3. 「コンソール アプリ」を選択
// 4. プロジェクト名を入力
// 5. 作成ボタンを押す
// 6. Program.csにコードを書く
// 7. 実行ボタンを押す
コンソールアプリを作成すると、最初から次のようなコードが用意されている場合があります。
C#Console.WriteLine("Hello, World!");
このコードを実行すると、画面に「Hello, World!」と表示されます。
2-2. Visual Studio CodeでC#を実行する手順
Visual Studio CodeでC#を実行する場合は、.NET SDKをインストールしてから使います。
Bashdotnet new console -n SampleApp
cd SampleApp
dotnet run
作成されたProgram.csにC#コードを書きます。
C#Console.WriteLine("C#をVisual Studio Codeで実行しています");
保存後、ターミナルで次のコマンドを実行します。
Bashdotnet run
2-3. オンラインコンパイラで手軽に試す方法
インストールせずにC#を試したい場合は、オンラインコンパイラを使う方法もあります。
C#using System;
class Program
{
static void Main()
{
Console.WriteLine("オンラインでC#を実行しています");
}
}
オンライン環境では、ファイル操作など一部の処理が制限されることがあります。基本文法を試す用途に向いています。
2-4. .NET SDKの確認方法とバージョンの見方
.NET SDKが入っているか確認するには、ターミナルやコマンドプロンプトで次のコマンドを実行します。
Bashdotnet --version
バージョン一覧を確認したい場合は、次のコマンドを使います。
Bashdotnet --list-sdks
バージョン番号が表示されれば、C#を実行する準備ができています。
2-5. サンプルコードが動かないときの基本チェック
C#サンプルコードが動かないときは、次の点を確認しましょう。
C#// 確認ポイント
// ・セミコロン ; が抜けていないか
// ・大文字と小文字を間違えていないか
// ・波かっこ { } の数が合っているか
// ・必要な using が書かれているか
// ・プロジェクトの種類が正しいか
// ・.NET SDKがインストールされているか
C#は大文字と小文字を区別します。Consoleをconsoleと書くとエラーになります。
3. 初心者向けC#基本文法のサンプルコード
3-1. Hello Worldを表示するサンプルコード
最も基本的なC#サンプルコードです。
C#Console.WriteLine("Hello, World!");
古い形式では、次のように書くこともあります。
C#using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}
Console.WriteLineは、文字列を画面に表示して改行する命令です。
3-2. 変数とデータ型のサンプルコード
変数は、値を入れておく箱のようなものです。
C#int age = 25;
double height = 170.5;
string name = "田中";
bool isStudent = true;
Console.WriteLine(age);
Console.WriteLine(height);
Console.WriteLine(name);
Console.WriteLine(isStudent);
主なデータ型は次のとおりです。
C#int number = 10; // 整数
double price = 99.9; // 小数
string text = "こんにちは"; // 文字列
bool flag = false; // trueまたはfalse
char letter = 'A'; // 1文字
3-3. 文字列操作のサンプルコード
文字列は、連結したり、一部を取り出したりできます。
C#string firstName = "山田";
string lastName = "太郎";
string fullName = firstName + lastName;
Console.WriteLine(fullName);
文字列補間を使うと、読みやすく書けます。
C#string name = "佐藤";
int age = 30;
Console.WriteLine($"{name}さんは{age}歳です");
文字列の長さを取得する例です。
C#string message = "C#サンプルコード";
Console.WriteLine(message.Length);
3-4. 四則演算と計算処理のサンプルコード
C#では、足し算、引き算、掛け算、割り算などができます。
C#int a = 10;
int b = 3;
Console.WriteLine(a + b);
Console.WriteLine(a - b);
Console.WriteLine(a * b);
Console.WriteLine(a / b);
Console.WriteLine(a % b);
%は余りを求める演算子です。
C#int number = 10;
Console.WriteLine(number % 2);
結果が0なら偶数、1なら奇数です。
3-5. if文による条件分岐のサンプルコード
if文を使うと、条件によって処理を分けられます。
C#int score = 80;
if (score >= 60)
{
Console.WriteLine("合格です");
}
else
{
Console.WriteLine("不合格です");
}
複数条件を判定する例です。
C#int score = 85;
if (score >= 90)
{
Console.WriteLine("評価A");
}
else if (score >= 70)
{
Console.WriteLine("評価B");
}
else if (score >= 60)
{
Console.WriteLine("評価C");
}
else
{
Console.WriteLine("不合格");
}
3-6. switch文による分岐処理のサンプルコード
switch文は、値によって処理を分けたいときに便利です。
C#int day = 3;
switch (day)
{
case 1:
Console.WriteLine("月曜日");
break;
case 2:
Console.WriteLine("火曜日");
break;
case 3:
Console.WriteLine("水曜日");
break;
default:
Console.WriteLine("その他の曜日");
break;
}
文字列でもswitch文を使えます。
C#string color = "red";
switch (color)
{
case "red":
Console.WriteLine("赤です");
break;
case "blue":
Console.WriteLine("青です");
break;
default:
Console.WriteLine("不明な色です");
break;
}
3-7. for文・while文による繰り返し処理のサンプルコード
for文は、回数が決まっている繰り返しに向いています。
C#for (int i = 1; i <= 5; i++)
{
Console.WriteLine(i);
}
while文は、条件を満たす間だけ繰り返します。
C#int count = 1;
while (count <= 5)
{
Console.WriteLine(count);
count++;
}
無限ループにならないように、条件がいつかfalseになるように書きましょう。
3-8. 配列とListのサンプルコード
配列は、同じ型の値をまとめて管理できます。
C#string[] fruits = { "りんご", "バナナ", "みかん" };
Console.WriteLine(fruits[0]);
Console.WriteLine(fruits[1]);
Console.WriteLine(fruits[2]);
Listは、後から要素を追加しやすいコレクションです。
C#List<string> names = new List<string>();
names.Add("田中");
names.Add("佐藤");
names.Add("鈴木");
foreach (string name in names)
{
Console.WriteLine(name);
}
Listを使う場合、古い形式では次のusingが必要です。
C#using System.Collections.Generic;
3-9. メソッドの作り方と呼び出し方のサンプルコード
メソッドは、処理をひとまとめにする仕組みです。
C#void SayHello()
{
Console.WriteLine("こんにちは");
}
SayHello();
引数を受け取るメソッドの例です。
C#void Greet(string name)
{
Console.WriteLine($"{name}さん、こんにちは");
}
Greet("田中");
戻り値があるメソッドの例です。
C#int Add(int a, int b)
{
return a + b;
}
int result = Add(3, 5);
Console.WriteLine(result);
3-10. クラスとインスタンスの基本サンプルコード
クラスは、データと処理をまとめる設計図です。
C#class Person
{
public string Name { get; set; }
public void SayHello()
{
Console.WriteLine($"{Name}です。こんにちは");
}
}
Person person = new Person();
person.Name = "山田";
person.SayHello();
new Person()でインスタンスを作成し、プロパティやメソッドを使います。
4. すぐ使えるC#実践サンプルコード集
4-1. コンソール入力を受け取るサンプルコード
ユーザーから入力を受け取るには、Console.ReadLineを使います。
C#Console.Write("名前を入力してください: ");
string name = Console.ReadLine();
Console.WriteLine($"{name}さん、こんにちは");
Console.ReadLine()の戻り値は文字列です。
4-2. 入力値を数値に変換するサンプルコード
入力された文字列を数値に変換するには、int.Parseを使います。
C#Console.Write("年齢を入力してください: ");
string input = Console.ReadLine();
int age = int.Parse(input);
Console.WriteLine($"あなたは{age}歳です");
ただし、数字以外を入力するとエラーになります。
4-3. TryParseでエラーを防ぐサンプルコード
安全に数値へ変換するには、TryParseを使います。
C#Console.Write("数値を入力してください: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int number))
{
Console.WriteLine($"入力された数値は{number}です");
}
else
{
Console.WriteLine("数値ではありません");
}
初心者は、int.Parseよりもint.TryParseを使うとエラーを防ぎやすくなります。
4-4. 日付と時刻を扱うサンプルコード
現在の日付と時刻を取得するには、DateTime.Nowを使います。
C#DateTime now = DateTime.Now;
Console.WriteLine(now);
Console.WriteLine(now.Year);
Console.WriteLine(now.Month);
Console.WriteLine(now.Day);
日付を指定して作成することもできます。
C#DateTime birthday = new DateTime(2000, 1, 1);
Console.WriteLine(birthday.ToString("yyyy年MM月dd日"));
4-5. ランダムな数値を生成するサンプルコード
ランダムな数値を作るには、Randomクラスを使います。
C#Random random = new Random();
int number = random.Next(1, 101);
Console.WriteLine(number);
random.Next(1, 101)は、1以上101未満の整数を返します。つまり、1から100までの数値が生成されます。
4-6. ファイルを読み込むサンプルコード
テキストファイルを読み込むには、File.ReadAllTextを使います。
C#string text = File.ReadAllText("sample.txt");
Console.WriteLine(text);
古い形式では、次のusingが必要です。
C#using System.IO;
ファイルが存在しないとエラーになるため、存在チェックをすると安全です。
C#string path = "sample.txt";
if (File.Exists(path))
{
string text = File.ReadAllText(path);
Console.WriteLine(text);
}
else
{
Console.WriteLine("ファイルが見つかりません");
}
4-7. ファイルに書き込むサンプルコード
ファイルに文字を書き込むには、File.WriteAllTextを使います。
C#File.WriteAllText("output.txt", "C#でファイルに書き込みました");
Console.WriteLine("書き込み完了");
追記したい場合は、File.AppendAllTextを使います。
C#File.AppendAllText("output.txt", "追記しました\n");
Console.WriteLine("追記完了");
4-8. CSVを読み書きするサンプルコード
CSVファイルを書き込むサンプルコードです。
C#string[] lines =
{
"名前,年齢",
"田中,25",
"佐藤,30"
};
File.WriteAllLines("data.csv", lines);
Console.WriteLine("CSVを書き込みました");
CSVを読み込む例です。
C#string[] lines = File.ReadAllLines("data.csv");
foreach (string line in lines)
{
string[] columns = line.Split(',');
Console.WriteLine(string.Join(" / ", columns));
}
カンマを含む文字列や引用符を扱う場合は、専用ライブラリを使うと安全です。
4-9. LINQでデータを抽出・並び替えるサンプルコード
LINQを使うと、Listや配列から条件に合うデータを簡単に取り出せます。
C#List<int> numbers = new List<int> { 5, 1, 8, 3, 10 };
var evenNumbers = numbers.Where(n => n % 2 == 0);
foreach (int number in evenNumbers)
{
Console.WriteLine(number);
}
並び替えの例です。
C#List<int> numbers = new List<int> { 5, 1, 8, 3, 10 };
var sortedNumbers = numbers.OrderBy(n => n);
foreach (int number in sortedNumbers)
{
Console.WriteLine(number);
}
古い形式では、次のusingが必要です。
C#using System.Linq;
4-10. 例外処理で安全に実行するサンプルコード
例外処理を使うと、エラーが発生してもプログラムが突然止まるのを防げます。
C#try
{
int number = int.Parse("abc");
Console.WriteLine(number);
}
catch (FormatException)
{
Console.WriteLine("数値に変換できません");
}
finally
{
Console.WriteLine("処理を終了します");
}
tryにはエラーが起こる可能性のある処理を書き、catchにはエラー時の処理を書きます。
5. 用途別C#サンプルコード
5-1. 計算機を作るサンプルコード
簡単な足し算計算機のサンプルです。
C#Console.Write("1つ目の数値: ");
int a = int.Parse(Console.ReadLine());
Console.Write("2つ目の数値: ");
int b = int.Parse(Console.ReadLine());
int result = a + b;
Console.WriteLine($"結果: {result}");
安全にするなら、TryParseを使いましょう。
C#Console.Write("1つ目の数値: ");
bool ok1 = int.TryParse(Console.ReadLine(), out int a);
Console.Write("2つ目の数値: ");
bool ok2 = int.TryParse(Console.ReadLine(), out int b);
if (ok1 && ok2)
{
Console.WriteLine($"結果: {a + b}");
}
else
{
Console.WriteLine("正しい数値を入力してください");
}
5-2. 偶数・奇数を判定するサンプルコード
数値が偶数か奇数かを判定するサンプルです。
C#int number = 7;
if (number % 2 == 0)
{
Console.WriteLine("偶数です");
}
else
{
Console.WriteLine("奇数です");
}
ユーザー入力に対応した例です。
C#Console.Write("数値を入力してください: ");
if (int.TryParse(Console.ReadLine(), out int number))
{
Console.WriteLine(number % 2 == 0 ? "偶数です" : "奇数です");
}
else
{
Console.WriteLine("数値を入力してください");
}
5-3. 最大値・最小値を求めるサンプルコード
Listから最大値と最小値を求めるサンプルです。
C#List<int> scores = new List<int> { 80, 95, 60, 70, 100 };
int max = scores.Max();
int min = scores.Min();
Console.WriteLine($"最大値: {max}");
Console.WriteLine($"最小値: {min}");
LINQを使わずに求める例です。
C#int[] numbers = { 80, 95, 60, 70, 100 };
int max = numbers[0];
int min = numbers[0];
foreach (int number in numbers)
{
if (number > max)
{
max = number;
}
if (number < min)
{
min = number;
}
}
Console.WriteLine($"最大値: {max}");
Console.WriteLine($"最小値: {min}");
5-4. 文字列を検索・置換するサンプルコード
文字列に特定の言葉が含まれているか確認するには、Containsを使います。
C#string text = "C#のサンプルコードを学習しています";
if (text.Contains("サンプル"))
{
Console.WriteLine("サンプルという文字が含まれています");
}
文字列を置換するには、Replaceを使います。
C#string text = "私はJavaを勉強しています";
string replaced = text.Replace("Java", "C#");
Console.WriteLine(replaced);
5-5. リストから条件に合うデータを探すサンプルコード
Listから条件に合うデータを探す例です。
C#List<string> names = new List<string> { "田中", "佐藤", "鈴木", "高橋" };
string result = names.FirstOrDefault(name => name.StartsWith("佐"));
if (result != null)
{
Console.WriteLine($"見つかりました: {result}");
}
else
{
Console.WriteLine("見つかりませんでした");
}
複数件を抽出する例です。
C#List<int> numbers = new List<int> { 10, 25, 30, 45, 50 };
var results = numbers.Where(n => n >= 30);
foreach (int number in results)
{
Console.WriteLine(number);
}
5-6. 簡単なログイン判定のサンプルコード
ユーザー名とパスワードを判定するサンプルです。
C#string correctUser = "admin";
string correctPassword = "1234";
Console.Write("ユーザー名: ");
string user = Console.ReadLine();
Console.Write("パスワード: ");
string password = Console.ReadLine();
if (user == correctUser && password == correctPassword)
{
Console.WriteLine("ログイン成功");
}
else
{
Console.WriteLine("ログイン失敗");
}
実際のシステムでは、パスワードをそのまま保存するのは危険です。学習用の簡単な例として使いましょう。
5-7. ToDoリストを作るサンプルコード
簡単なToDoリストのサンプルです。
C#List<string> todos = new List<string>();
while (true)
{
Console.Write("ToDoを入力してください。終了するにはexit: ");
string input = Console.ReadLine();
if (input == "exit")
{
break;
}
todos.Add(input);
}
Console.WriteLine("ToDo一覧:");
foreach (string todo in todos)
{
Console.WriteLine($"- {todo}");
}
入力を繰り返し受け取り、最後に一覧表示します。
5-8. 簡単なじゃんけんゲームのサンプルコード
C#で作る簡単なじゃんけんゲームです。
C#string[] hands = { "グー", "チョキ", "パー" };
Random random = new Random();
Console.Write("手を入力してください(グー・チョキ・パー): ");
string player = Console.ReadLine();
string computer = hands[random.Next(0, 3)];
Console.WriteLine($"コンピューター: {computer}");
if (player == computer)
{
Console.WriteLine("あいこです");
}
else if (
(player == "グー" && computer == "チョキ") ||
(player == "チョキ" && computer == "パー") ||
(player == "パー" && computer == "グー"))
{
Console.WriteLine("あなたの勝ちです");
}
else
{
Console.WriteLine("あなたの負けです");
}
条件分岐、配列、ランダム処理を組み合わせた初心者向けの実践サンプルです。
6. オブジェクト指向を理解するC#サンプルコード
6-1. クラス・プロパティ・メソッドの基本
クラスは、関連するデータと処理をまとめる仕組みです。
C#class Product
{
public string Name { get; set; }
public int Price { get; set; }
public void ShowInfo()
{
Console.WriteLine($"{Name}: {Price}円");
}
}
Product product = new Product();
product.Name = "ペン";
product.Price = 120;
product.ShowInfo();
NameやPriceがプロパティ、ShowInfoがメソッドです。
6-2. コンストラクタのサンプルコード
コンストラクタは、インスタンスを作るときに自動で呼ばれる特別なメソッドです。
C#class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
public void SayHello()
{
Console.WriteLine($"{Name}さん、こんにちは");
}
}
User user = new User("田中");
user.SayHello();
初期値を必ず設定したいときに便利です。
6-3. カプセル化のサンプルコード
カプセル化は、データを外部から直接変更できないようにし、安全に扱う考え方です。
C#class BankAccount
{
private int balance;
public void Deposit(int amount)
{
if (amount > 0)
{
balance += amount;
}
}
public int GetBalance()
{
return balance;
}
}
BankAccount account = new BankAccount();
account.Deposit(1000);
Console.WriteLine(account.GetBalance());
balanceをprivateにすることで、クラスの外から直接変更できないようにしています。
6-4. 継承のサンプルコード
継承を使うと、既存のクラスの機能を引き継いだ新しいクラスを作れます。
C#class Animal
{
public void Eat()
{
Console.WriteLine("食べます");
}
}
class Dog : Animal
{
public void Bark()
{
Console.WriteLine("ワンワン");
}
}
Dog dog = new Dog();
dog.Eat();
dog.Bark();
DogクラスはAnimalクラスを継承しているため、Eatメソッドを使えます。
6-5. インターフェースのサンプルコード
インターフェースは、クラスが実装すべき機能のルールを定義します。
C#interface IPrintable
{
void Print();
}
class Report : IPrintable
{
public void Print()
{
Console.WriteLine("レポートを印刷します");
}
}
IPrintable printable = new Report();
printable.Print();
複数のクラスに共通の操作を持たせたいときに便利です。
6-6. ポリモーフィズムのサンプルコード
ポリモーフィズムは、同じ呼び出し方で異なる処理を実行できる仕組みです。
C#class Animal
{
public virtual void Speak()
{
Console.WriteLine("動物が鳴きます");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("ワンワン");
}
}
class Cat : Animal
{
public override void Speak()
{
Console.WriteLine("ニャー");
}
}
List<Animal> animals = new List<Animal>
{
new Dog(),
new Cat()
};
foreach (Animal animal in animals)
{
animal.Speak();
}
同じSpeakメソッドでも、実際のインスタンスによって動きが変わります。
6-7. staticの使い方がわかるサンプルコード
staticは、インスタンスを作らずに使えるメンバーを定義するときに使います。
C#class MathHelper
{
public static int Add(int a, int b)
{
return a + b;
}
}
int result = MathHelper.Add(3, 5);
Console.WriteLine(result);
共通処理や便利関数をまとめるときに使われます。
7. C#サンプルコードでよくあるエラーと解決方法
7-1. 「型を変換できません」エラーの原因と対処法
型が違う値を代入しようとするとエラーになります。
C#int number = "123"; // エラー
文字列を数値に変換する必要があります。
C#string text = "123";
int number = int.Parse(text);
Console.WriteLine(number);
安全に変換するなら、TryParseを使います。
C#string text = "123";
if (int.TryParse(text, out int number))
{
Console.WriteLine(number);
}
7-2. 「名前が現在のコンテキストに存在しません」エラーの原因と対処法
変数名を間違えたり、変数の有効範囲外で使ったりすると発生します。
C#if (true)
{
int number = 10;
}
Console.WriteLine(number); // エラー
変数を使いたい場所より外側で宣言しましょう。
C#int number = 0;
if (true)
{
number = 10;
}
Console.WriteLine(number);
7-3. NullReferenceExceptionの原因と対処法
nullの変数に対してメソッドやプロパティを使うと発生します。
C#string text = null;
Console.WriteLine(text.Length); // エラー
nullチェックを行いましょう。
C#string text = null;
if (text != null)
{
Console.WriteLine(text.Length);
}
else
{
Console.WriteLine("textはnullです");
}
または、null条件演算子を使えます。
C#string text = null;
Console.WriteLine(text?.Length);
7-4. FormatExceptionの原因と対処法
数値に変換できない文字列をint.Parseすると発生します。
C#int number = int.Parse("abc"); // エラー
TryParseを使うと安全です。
C#string input = "abc";
if (int.TryParse(input, out int number))
{
Console.WriteLine(number);
}
else
{
Console.WriteLine("数値に変換できません");
}
7-5. IndexOutOfRangeExceptionの原因と対処法
配列の範囲外にアクセスすると発生します。
C#int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[3]); // エラー
配列のインデックスは0から始まります。
C#int[] numbers = { 10, 20, 30 };
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine(numbers[i]);
}
7-6. ファイルが見つからないエラーの原因と対処法
存在しないファイルを読み込もうとするとエラーになります。
C#string text = File.ReadAllText("sample.txt");
ファイルの存在を確認しましょう。
C#string path = "sample.txt";
if (File.Exists(path))
{
string text = File.ReadAllText(path);
Console.WriteLine(text);
}
else
{
Console.WriteLine("ファイルが存在しません");
}
ファイル名、拡張子、保存場所も確認してください。
7-7. サンプルコードをコピペしたのに動かないときの確認ポイント
C#サンプルコードをコピペして動かない場合は、次を確認しましょう。
C#// 確認ポイント
// ・必要なusingがあるか
// ・クラス名が重複していないか
// ・Mainメソッドの中に書くべきコードを外に書いていないか
// ・プロジェクトの種類がコンソールアプリか
// ・C#のバージョンに合っているか
// ・全角記号が混ざっていないか
特に、初心者は全角のセミコロンや全角のダブルクォーテーションに注意しましょう。
C#Console.WriteLine("正しい書き方");
8. C#サンプルコードを理解して応用するコツ
8-1. コピペだけで終わらせない読み方
サンプルコードは、ただコピーして実行するだけではなく、1行ずつ意味を確認することが大切です。
C#int price = 100;
int count = 3;
int total = price * count;
Console.WriteLine(total);
このコードなら、次のように読みます。
C#// priceに100を入れる
// countに3を入れる
// priceとcountを掛けた結果をtotalに入れる
// totalを画面に表示する
処理の流れを日本語で説明できるようになると、理解が深まります。
8-2. 変数名や値を変えて動きを確認する方法
サンプルコードを理解するには、値を変えて実行してみるのが効果的です。
C#int score = 80;
if (score >= 60)
{
Console.WriteLine("合格");
}
else
{
Console.WriteLine("不合格");
}
scoreを50や100に変えて、結果がどう変わるか確認しましょう。
C#int score = 50;
小さな変更を繰り返すことで、条件式や変数の意味がわかりやすくなります。
8-3. コメントを付けながら理解する方法
コメントを書くと、コードの意味を整理できます。
C#// 商品価格
int price = 500;
// 個数
int quantity = 2;
// 合計金額を計算
int total = price * quantity;
// 結果を表示
Console.WriteLine($"合計: {total}円");
初心者のうちは、書きすぎなくらいコメントを付けても問題ありません。慣れてきたら、必要な部分だけに絞りましょう。
8-4. 小さなサンプルを組み合わせてアプリ化する考え方
C#のアプリは、小さな処理の組み合わせで作れます。
C#// 入力
Console.Write("価格を入力してください: ");
int price = int.Parse(Console.ReadLine());
// 計算
int taxIncluded = (int)(price * 1.1);
// 出力
Console.WriteLine($"税込価格: {taxIncluded}円");
このように、入力、計算、出力を分けて考えると、簡単なアプリを作りやすくなります。
8-5. 初心者が次に学ぶべきC#の学習ステップ
基本文法を学んだら、次は次の内容に進むとよいでしょう。
C#// 次に学ぶとよい内容
// ・オブジェクト指向
// ・LINQ
// ・例外処理
// ・ファイル操作
// ・データベース接続
// ・ASP.NET Core
// ・Unity
// ・テストコード
まずはコンソールアプリで基礎を固め、その後にWebアプリやゲーム開発など目的に合わせて学習を進めましょう。
9. C#サンプルコードに関するよくある質問
9-1. C#のサンプルコードはどこに書けばいい?
初心者の場合は、コンソールアプリのProgram.csに書くのが基本です。
C#Console.WriteLine("ここにC#のコードを書きます");
古い形式のプロジェクトでは、Mainメソッドの中に書きます。
C#using System;
class Program
{
static void Main()
{
Console.WriteLine("Mainメソッドの中に書きます");
}
}
9-2. C#と.NETの違いは?
C#はプログラミング言語です。一方、.NETはC#で作ったプログラムを動かすための開発基盤です。
C#// C# : 言語
// .NET: 実行環境やライブラリを含む開発基盤
C#で書いたコードは、.NET上で実行されます。
9-3. C#は初心者でも学びやすい?
C#は初心者にも学びやすい言語です。文法が整理されており、開発環境も充実しています。
C#Console.WriteLine("C#は初心者にもおすすめです");
ただし、オブジェクト指向や非同期処理など、最初は難しく感じる部分もあります。まずは基本文法と小さなサンプルコードから始めましょう。
9-4. Visual StudioとVisual Studio Codeはどちらを使うべき?
初心者にはVisual Studioがおすすめです。C#開発に必要な機能がそろっており、画面操作でプロジェクトを作りやすいからです。
C#// 初心者: Visual Studioがおすすめ
// 軽量な環境がよい人: Visual Studio Codeも選択肢
Visual Studio Codeは軽くて便利ですが、拡張機能や.NET SDKの設定が必要になるため、最初は少し難しく感じることがあります。
9-5. 古いC#サンプルコードが動かない理由は?
古いC#サンプルコードが動かない理由には、次のようなものがあります。
C#// よくある理由
// ・C#や.NETのバージョンが違う
// ・必要なusingが不足している
// ・古いライブラリを使っている
// ・プロジェクト形式が違う
// ・Mainメソッドの書き方が違う
最近のC#では、次のように短く書けるトップレベルステートメントが使われます。
C#Console.WriteLine("新しい形式の書き方");
一方、古いサンプルでは次のような形式が多いです。
C#using System;
class Program
{
static void Main()
{
Console.WriteLine("古い形式でも使われる書き方");
}
}
どちらもC#のコードですが、プロジェクトやバージョンによって見た目が変わります。
9-6. C#でWebアプリやゲーム開発もできる?
C#では、Webアプリやゲーム開発もできます。
C#// Webアプリ開発: ASP.NET Core
// ゲーム開発: Unity
// デスクトップアプリ: WPF、Windows Forms
// API開発: ASP.NET Core Web API
最初はコンソールアプリで基本文法を学び、その後に目的に合わせてASP.NET CoreやUnityを学ぶとスムーズです。
まとめ
C#のサンプルコードを使うと、基本文法や実践的な処理を効率よく学べます。まずはHello World、変数、条件分岐、繰り返し、配列、List、メソッド、クラスといった基本を押さえましょう。
そのうえで、コンソール入力、数値変換、ファイル操作、CSV処理、LINQ、例外処理などを学ぶと、実用的なプログラムを作れるようになります。
C#サンプルコードを学ぶときは、コピペして終わりにせず、変数名や値を変えて動きを確認することが大切です。エラーが出た場合も、メッセージをよく読み、型変換、変数名、null、配列の範囲、ファイルパスなどを順番に確認しましょう。
小さなサンプルコードを理解して組み合わせていけば、計算機、ToDoリスト、ログイン判定、ゲーム、Webアプリなどへ応用できます。C#の基礎を身につける第一歩として、この記事のサンプルコードを実際に動かしながら学習を進めてください。

