csharp code入門|C#の基本構文と実践コード例をわかりやすく解説
はじめに
C#を学び始めると、「csharp code」「C# code」「C#コード」といった言葉を目にすることがあります。どれも基本的には、C#というプログラミング言語で書かれたコードを指します。
C#は、Webアプリ、デスクトップアプリ、ゲーム開発、スマホアプリ、業務システムなど幅広い分野で使われている人気の高い言語です。文法が比較的わかりやすく、開発環境も整っているため、プログラミング初心者にも学びやすい言語のひとつです。
この記事では、csharp codeの基本から、C#の開発環境、基本構文、条件分岐、繰り返し処理、配列、List、Dictionary、クラス、実践的なコード例までを初心者向けにわかりやすく解説します。
1. csharp codeとは?C#コードの基本を初心者向けに解説
1-1. csharp codeの意味とC#との関係
csharp codeとは、C#で書かれたプログラムコードのことです。C#は「シーシャープ」と読み、Microsoftが開発したプログラミング言語です。
たとえば、次のようなコードはcsharp codeの一例です。
C#Console.WriteLine("Hello, C#");
このコードは、画面に「Hello, C#」と表示するためのC#コードです。
「csharp」は「C#」を英語表記したときによく使われる書き方です。検索するときに「C# code」では記号の「#」がうまく扱われないことがあるため、「csharp code」というキーワードで検索されることも多くあります。
1-2. C#でできること
C#では、さまざまな種類のアプリケーションを作成できます。
たとえば、コンソールアプリ、Windowsデスクトップアプリ、Webアプリ、API、ゲーム、スマホアプリ、クラウドアプリなどを開発できます。
C#は.NETという開発プラットフォームと一緒に使われることが多く、.NETの機能を利用することで、ファイル操作、データベース接続、ネットワーク通信、Web開発なども効率よく行えます。
1-3. C#が使われる主な開発分野
C#が使われる主な分野には、次のようなものがあります。
Webアプリ開発では、ASP.NET Coreを使ってWebサイトやWeb APIを作成できます。業務システム開発では、社内管理ツール、販売管理システム、在庫管理システムなどに使われます。
ゲーム開発では、Unityのスクリプト言語としてC#が広く使われています。Windowsアプリ開発では、WPFやWindows Formsなどを使ってデスクトップアプリを作成できます。
また、.NET MAUIを使うことで、スマホアプリやクロスプラットフォームアプリの開発にもC#を活用できます。
1-4. C#を学ぶメリット
C#を学ぶメリットは、文法が整理されていて読みやすいこと、開発環境が充実していること、実務で使われる場面が多いことです。
C#は型安全な言語であり、変数に入れるデータの種類を明確にできます。そのため、コードのミスを早い段階で見つけやすくなります。
また、Visual StudioやVisual Studio Codeといった開発ツールを使うことで、コード補完、エラー表示、デバッグなどを効率よく行えます。
初心者がプログラミングの基本を学びながら、実践的なアプリ開発まで進めやすい点もC#の大きな魅力です。
2. C#コードを書く前に準備する開発環境
2-1. Visual Studioを使ったC#開発環境の準備
C#を本格的に学ぶなら、Visual Studioを使う方法がわかりやすいです。Visual StudioはMicrosoftが提供している統合開発環境で、C#開発に必要な機能がまとまっています。
Visual Studioをインストールするときは、「.NET デスクトップ開発」や「ASP.NET と Web 開発」など、作りたいアプリに合わせたワークロードを選択します。
初心者の場合は、まず「.NET デスクトップ開発」を選んでおくと、コンソールアプリやデスクトップアプリを作りやすくなります。
Visual Studioでは、プロジェクト作成、コード編集、ビルド、実行、デバッグをひとつの画面で行えるため、C#コードの学習に適しています。
2-2. Visual Studio CodeでC#を書く方法
Visual Studio Codeは軽量なコードエディタです。C#の拡張機能を追加することで、C#コードを書く環境として利用できます。
Visual Studio CodeでC#を書く場合は、まず.NET SDKをインストールします。その後、Visual Studio CodeにC#関連の拡張機能を入れることで、コード補完やエラー表示が使えるようになります。
Visual Studio Codeは動作が軽く、Windows、macOS、Linuxで使えるため、シンプルな環境でcsharp codeを書きたい人に向いています。
2-3. .NET SDKのインストール
C#コードをコンパイルして実行するには、.NET SDKが必要です。SDKとはSoftware Development Kitの略で、プログラムを開発するために必要なツール一式のことです。
.NET SDKをインストールすると、ターミナルやコマンドプロンプトで次のようなコマンドが使えるようになります。
Bashdotnet --version
このコマンドを実行してバージョン番号が表示されれば、.NET SDKが正しくインストールされています。
2-4. 最初のC#プロジェクトを作成する手順
ターミナルでC#のコンソールアプリを作成するには、次のコマンドを使います。
Bashdotnet new console -n MyFirstApp
このコマンドを実行すると、MyFirstAppという名前のプロジェクトが作成されます。
次に、作成されたフォルダへ移動します。
Bashcd MyFirstApp
プロジェクト内には、C#コードを書くためのファイルや設定ファイルが作成されています。最近のC#では、Program.csにシンプルなコードが自動生成されることが多いです。
2-5. C#コードの実行方法
C#コードを実行するには、プロジェクトフォルダで次のコマンドを実行します。
Bashdotnet run
Program.csに書かれたコードがビルドされ、問題がなければプログラムが実行されます。
たとえば、Console.WriteLine("Hello, World!");と書かれていれば、実行結果として画面に「Hello, World!」と表示されます。
3. はじめてのcsharp code|Hello Worldを書いてみよう
3-1. C#の基本的なコード構成
C#の基本的なコードは、クラスやメソッドを使って構成されます。古典的な書き方では、Programクラスの中にMainメソッドを書き、その中に実行したい処理を記述します。
C#using System;
namespace MyFirstApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
C# 9以降では、トップレベルステートメントという簡潔な書き方も使えます。
C#Console.WriteLine("Hello World");
初心者のうちは、まずシンプルな書き方で動かしてみて、慣れてきたらclassやMainメソッドの構造を理解していくとよいでしょう。
3-2. Hello Worldのサンプルコード
最初に書くC#コードとして定番なのが、Hello Worldです。
C#Console.WriteLine("Hello World");
このcsharp codeを実行すると、コンソール画面に次のように表示されます。
Hello World
Console.WriteLineは、指定した文字列をコンソールに表示するための命令です。
3-3. using・namespace・class・Mainメソッドの役割
C#の基本構成でよく出てくる要素には、using、namespace、class、Mainメソッドがあります。
usingは、外部の機能を使いやすくするための宣言です。たとえば、using System;と書くことで、System名前空間に含まれる機能を利用できます。
namespaceは、クラスを整理するための入れ物です。大きなプログラムでは、関連するクラスを名前空間で分類します。
classは、処理やデータをまとめるための単位です。C#では、基本的にクラスを中心にプログラムを組み立てます。
Mainメソッドは、プログラムの開始地点です。古典的なC#コードでは、アプリケーションを実行すると最初にMainメソッドが呼び出されます。
3-4. Console.WriteLineの使い方
Console.WriteLineは、文字列や数値を画面に表示するためによく使われます。
C#Console.WriteLine("こんにちは");
Console.WriteLine(100);
Console.WriteLine(10 + 20);
実行結果は次のようになります。
こんにちは
100
30
変数の値を表示することもできます。
C#string name = "Taro";
int age = 20;
Console.WriteLine(name);
Console.WriteLine(age);
文字列の中に変数を埋め込む場合は、文字列補間を使うと便利です。
C#string name = "Taro";
int age = 20;
Console.WriteLine($"{name}さんは{age}歳です。");
3-5. 実行結果の確認方法
C#コードを実行した結果は、コンソール画面やターミナルに表示されます。
Visual Studioを使っている場合は、実行ボタンを押すことでプログラムを実行できます。Visual Studio Codeやターミナルを使っている場合は、プロジェクトフォルダでdotnet runを実行します。
エラーがなければ、Console.WriteLineで指定した内容が画面に表示されます。もしエラーが出た場合は、エラーメッセージを確認し、どの行で問題が起きているかを見て修正します。
4. C#の基本構文
4-1. 変数とデータ型
変数は、データを一時的に入れておく箱のようなものです。C#では、変数を宣言するときにデータ型を指定します。
C#int age = 25;
string name = "Yamada";
double height = 170.5;
bool isActive = true;
主なデータ型には、次のようなものがあります。
intは整数、doubleは小数、stringは文字列、boolは真偽値を表します。
C#int count = 10;
double price = 1200.5;
string message = "C#を学習中です";
bool result = true;
C#では型が決まっているため、int型の変数に文字列を入れることはできません。
C#int number = 10;
// number = "abc"; // エラー
4-2. 文字列の扱い方
C#で文字列を扱うには、string型を使います。
C#string firstName = "Taro";
string lastName = "Yamada";
string fullName = lastName + " " + firstName;
Console.WriteLine(fullName);
文字列を連結するには、+演算子を使えます。
C#string message = "こんにちは、" + "C#";
Console.WriteLine(message);
より読みやすく書くなら、文字列補間を使います。
C#string name = "Sato";
int score = 90;
Console.WriteLine($"{name}さんの点数は{score}点です。");
文字列の長さを取得するには、Lengthプロパティを使います。
C#string text = "csharp code";
Console.WriteLine(text.Length);
4-3. 数値計算と演算子
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 result = 10 / 3;
Console.WriteLine(result); // 3
小数まで求めたい場合は、double型を使います。
C#double result = 10.0 / 3.0;
Console.WriteLine(result);
4-4. bool型と条件判定
bool型は、trueまたはfalseのどちらかを表します。条件判定でよく使われます。
C#int age = 20;
bool isAdult = age >= 18;
Console.WriteLine(isAdult);
比較演算子には、次のようなものがあります。
C#int x = 10;
int y = 20;
Console.WriteLine(x == y); // 等しい
Console.WriteLine(x != y); // 等しくない
Console.WriteLine(x < y); // より小さい
Console.WriteLine(x > y); // より大きい
Console.WriteLine(x <= y); // 以下
Console.WriteLine(x >= y); // 以上
複数の条件を組み合わせる場合は、論理演算子を使います。
C#int age = 25;
bool hasTicket = true;
if (age >= 18 && hasTicket)
{
Console.WriteLine("入場できます");
}
&&は「かつ」、||は「または」、!は否定を表します。
4-5. コメントの書き方
コメントは、プログラムの説明を書くために使います。コメントは実行されません。
1行コメントは、//を使います。
C#// 名前を表示する
Console.WriteLine("Taro");
複数行コメントは、/* */を使います。
C#/*
ここは複数行コメントです。
処理の説明をまとめて書けます。
*/
Console.WriteLine("Hello");
コメントを書きすぎると読みにくくなるため、「なぜその処理が必要なのか」を補足する目的で使うと効果的です。
4-6. 命名規則と読みやすいコードの書き方
C#では、変数名やメソッド名にわかりやすい名前を付けることが大切です。
変数名には、一般的にキャメルケースを使います。
C#int userAge = 20;
string userName = "Tanaka";
メソッド名やクラス名には、パスカルケースを使います。
C#class UserProfile
{
void ShowMessage()
{
Console.WriteLine("Hello");
}
}
読みやすいC#コードを書くためには、意味のある名前を付ける、インデントをそろえる、1つのメソッドに多くの処理を書きすぎない、重複したコードを減らすことが大切です。
5. 条件分岐と繰り返し処理のコード例
5-1. if文の基本コード例
if文は、条件によって処理を分けるために使います。
C#int score = 80;
if (score >= 60)
{
Console.WriteLine("合格です");
}
このコードでは、scoreが60以上の場合に「合格です」と表示されます。
条件式の結果がtrueなら中の処理が実行され、falseなら実行されません。
5-2. else if・elseの使い方
複数の条件を判定したい場合は、else ifやelseを使います。
C#int score = 75;
if (score >= 90)
{
Console.WriteLine("評価はAです");
}
else if (score >= 70)
{
Console.WriteLine("評価はBです");
}
else if (score >= 60)
{
Console.WriteLine("評価はCです");
}
else
{
Console.WriteLine("不合格です");
}
ifの条件が成り立たない場合、次のelse ifが判定されます。どの条件にも当てはまらない場合は、elseの処理が実行されます。
5-3. 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;
}
caseに一致した処理が実行されます。どのcaseにも一致しない場合は、defaultの処理が実行されます。
5-4. for文の基本コード例
for文は、決まった回数だけ処理を繰り返すときに使います。
C#for (int i = 0; i < 5; i++)
{
Console.WriteLine(i);
}
このコードでは、0から4までの数字が表示されます。
for文は、初期化、条件式、更新処理をまとめて書けるため、回数が決まっている繰り返しに向いています。
5-5. while文とdo while文の使い方
while文は、条件が成り立っている間、処理を繰り返します。
C#int count = 0;
while (count < 5)
{
Console.WriteLine(count);
count++;
}
do while文は、最初に必ず1回処理を実行してから条件を判定します。
C#int count = 0;
do
{
Console.WriteLine(count);
count++;
}
while (count < 5);
while文は条件によっては一度も実行されないことがありますが、do while文は必ず一度は実行されます。
5-6. foreach文で配列やリストを処理する方法
foreach文は、配列やListの要素を順番に取り出して処理するときに使います。
C#string[] fruits = { "Apple", "Banana", "Orange" };
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Listでも同じように使えます。
C#List<string> names = new List<string> { "Taro", "Hanako", "Jiro" };
foreach (string name in names)
{
Console.WriteLine(name);
}
foreach文を使うと、インデックス番号を意識せずに要素を処理できるため、読みやすいコードになります。
6. 配列・List・Dictionaryの使い方
6-1. 配列の宣言と初期化
配列は、同じ型のデータをまとめて扱うための仕組みです。
C#int[] numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
最初から値を入れて初期化することもできます。
C#int[] numbers = { 10, 20, 30 };
string[] names = { "Taro", "Hanako", "Jiro" };
配列の要素数は、作成したあとに変更できません。要素数が変わる可能性がある場合は、Listを使うと便利です。
6-2. 配列の要素を取得・更新するコード例
配列の要素には、インデックス番号を使ってアクセスします。インデックスは0から始まります。
C#string[] colors = { "Red", "Blue", "Green" };
Console.WriteLine(colors[0]); // Red
Console.WriteLine(colors[1]); // Blue
要素を更新することもできます。
C#colors[1] = "Yellow";
Console.WriteLine(colors[1]); // Yellow
配列の範囲外にアクセスするとエラーになります。
C#// Console.WriteLine(colors[3]); // エラー
配列の長さは、Lengthプロパティで取得できます。
C#Console.WriteLine(colors.Length);
6-3. Listの基本的な使い方
Listは、要素数を後から変更できるコレクションです。使うには、System.Collections.Genericを利用します。
C#using System.Collections.Generic;
List<string> fruits = new List<string>();
fruits.Add("Apple");
fruits.Add("Banana");
fruits.Add("Orange");
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
最初から値を入れて作成することもできます。
C#List<int> scores = new List<int> { 80, 90, 75 };
Listの要素数は、Countプロパティで取得します。
C#Console.WriteLine(scores.Count);
6-4. Listに要素を追加・削除する方法
Listに要素を追加するには、Addメソッドを使います。
C#List<string> names = new List<string>();
names.Add("Taro");
names.Add("Hanako");
要素を削除するには、Removeメソッドを使います。
C#names.Remove("Taro");
インデックス番号を指定して削除する場合は、RemoveAtを使います。
C#names.RemoveAt(0);
Listに特定の要素が含まれているか確認するには、Containsを使います。
C#if (names.Contains("Hanako"))
{
Console.WriteLine("Hanakoが含まれています");
}
6-5. Dictionaryでキーと値を管理する方法
Dictionaryは、キーと値をセットで管理するコレクションです。辞書のように、キーを指定して値を取り出せます。
C#Dictionary<string, int> ages = new Dictionary<string, int>();
ages.Add("Taro", 20);
ages.Add("Hanako", 25);
Console.WriteLine(ages["Taro"]);
値を更新することもできます。
C#ages["Taro"] = 21;
キーが存在するか確認するには、ContainsKeyを使います。
C#if (ages.ContainsKey("Hanako"))
{
Console.WriteLine(ages["Hanako"]);
}
Dictionaryは、ユーザーIDとユーザー名、商品コードと価格、設定名と設定値などを管理するときに便利です。
6-6. 配列・List・Dictionaryの使い分け
配列は、要素数が決まっていて変更しないデータに向いています。たとえば、曜日や固定の設定値などです。
Listは、要素を追加・削除する可能性があるデータに向いています。たとえば、ユーザー一覧、商品一覧、入力されたデータの一覧などです。
Dictionaryは、キーを使って値をすばやく取り出したい場合に向いています。たとえば、名前から年齢を取得する、商品コードから価格を取得する、といった使い方です。
C#コードを書くときは、データの性質に合わせて、配列、List、Dictionaryを使い分けることが大切です。
7. メソッドとクラスの基本
7-1. メソッドの定義と呼び出し
メソッドは、処理をひとまとまりにしたものです。同じ処理を何度も使いたいときや、コードを整理したいときに使います。
C#static void SayHello()
{
Console.WriteLine("こんにちは");
}
SayHello();
SayHelloというメソッドを定義し、あとから呼び出しています。
メソッドを使うと、処理に名前を付けられるため、コードの意味がわかりやすくなります。
7-2. 引数と戻り値の使い方
メソッドには、引数を渡すことができます。引数は、メソッドに渡すデータです。
C#static void Greet(string name)
{
Console.WriteLine($"{name}さん、こんにちは");
}
Greet("Taro");
戻り値を返すメソッドも作れます。
C#static int Add(int a, int b)
{
return a + b;
}
int result = Add(10, 20);
Console.WriteLine(result);
このコードでは、Addメソッドが2つの数値を受け取り、合計を返しています。
7-3. クラスとインスタンスの基本
クラスは、データと処理をまとめる設計図のようなものです。クラスから作られた実体をインスタンスと呼びます。
C#class Person
{
public string Name;
public void SayHello()
{
Console.WriteLine($"{Name}です。こんにちは");
}
}
このクラスを使うには、インスタンスを作成します。
C#Person person = new Person();
person.Name = "Taro";
person.SayHello();
クラスを使うことで、関連するデータと処理をひとつにまとめられます。
7-4. フィールド・プロパティ・コンストラクタの使い方
フィールドは、クラスの中に持つ変数です。プロパティは、外部から値を取得・設定するための仕組みです。
C#class User
{
public string Name { get; set; }
public int Age { get; set; }
}
コンストラクタは、インスタンスを作成するときに呼び出される特別なメソッドです。
C#class User
{
public string Name { get; set; }
public int Age { get; set; }
public User(string name, int age)
{
Name = name;
Age = age;
}
public void ShowProfile()
{
Console.WriteLine($"{Name}さんは{Age}歳です。");
}
}
使うときは、次のように書きます。
C#User user = new User("Taro", 20);
user.ShowProfile();
コンストラクタを使うと、インスタンス作成時に必要な値を設定できます。
7-5. オブジェクト指向の基本をコード例で理解する
C#はオブジェクト指向プログラミングに対応した言語です。オブジェクト指向では、データと処理をオブジェクトとしてまとめて扱います。
たとえば、商品を表すクラスを作るとします。
C#class Product
{
public string Name { get; set; }
public int Price { get; set; }
public Product(string name, int price)
{
Name = name;
Price = price;
}
public void ShowInfo()
{
Console.WriteLine($"{Name}: {Price}円");
}
}
このクラスを使って商品データを作成します。
C#Product product = new Product("ノート", 150);
product.ShowInfo();
このように、現実のものをクラスとして表現すると、コードを整理しやすくなります。業務システムでは、ユーザー、商品、注文、請求書などをクラスとして設計することがよくあります。
8. 実践でよく使うC#コード例
8-1. ユーザー入力を受け取るコード
コンソールアプリでユーザー入力を受け取るには、Console.ReadLineを使います。
C#Console.Write("名前を入力してください: ");
string name = Console.ReadLine();
Console.WriteLine($"{name}さん、こんにちは");
数値を入力してもらう場合、Console.ReadLineの戻り値は文字列なので、数値型に変換する必要があります。
C#Console.Write("年齢を入力してください: ");
string input = Console.ReadLine();
int age = int.Parse(input);
Console.WriteLine($"{age}歳です");
安全に変換したい場合は、int.TryParseを使います。
C#Console.Write("数値を入力してください: ");
string input = Console.ReadLine();
if (int.TryParse(input, out int number))
{
Console.WriteLine($"入力された数値は{number}です");
}
else
{
Console.WriteLine("数値ではありません");
}
8-2. 文字列を分割・結合するコード
文字列を分割するには、Splitを使います。
C#string text = "Apple,Banana,Orange";
string[] fruits = text.Split(',');
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
文字列を結合するには、string.Joinを使います。
C#string[] names = { "Taro", "Hanako", "Jiro" };
string result = string.Join(", ", names);
Console.WriteLine(result);
実践的なC#コードでは、CSVデータの処理や入力文字列の解析などで、文字列の分割・結合をよく使います。
8-3. 日付と時刻を扱うコード
C#で日付や時刻を扱うには、DateTimeを使います。
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);
日付の加算もできます。
C#DateTime today = DateTime.Today;
DateTime nextWeek = today.AddDays(7);
Console.WriteLine(nextWeek);
日付を特定の形式で表示するには、ToStringを使います。
C#DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy/MM/dd HH:mm:ss"));
8-4. ファイルを読み書きするコード
C#では、System.IOを使ってファイルを読み書きできます。
C#using System.IO;
string path = "sample.txt";
File.WriteAllText(path, "C#でファイルを書き込みます");
string content = File.ReadAllText(path);
Console.WriteLine(content);
複数行を書き込む場合は、WriteAllLinesを使えます。
C#string[] lines = { "1行目", "2行目", "3行目" };
File.WriteAllLines("lines.txt", lines);
ファイルを読み込む場合は、ファイルが存在するか確認すると安全です。
C#string path = "sample.txt";
if (File.Exists(path))
{
string content = File.ReadAllText(path);
Console.WriteLine(content);
}
else
{
Console.WriteLine("ファイルが存在しません");
}
8-5. 例外処理を行うtry-catchのコード
プログラム実行中にエラーが発生することを例外と呼びます。例外が発生する可能性がある処理には、try-catchを使います。
C#try
{
int number = int.Parse("abc");
Console.WriteLine(number);
}
catch (FormatException)
{
Console.WriteLine("数値に変換できません");
}
すべての例外を受け取る場合は、Exceptionを使います。
C#try
{
string text = File.ReadAllText("notfound.txt");
Console.WriteLine(text);
}
catch (Exception ex)
{
Console.WriteLine("エラーが発生しました");
Console.WriteLine(ex.Message);
}
例外処理を使うことで、エラーが起きてもプログラムが突然終了するのを防げます。
8-6. LINQでデータを検索・抽出するコード
LINQは、配列やListなどのデータを検索・抽出・並べ替えするための便利な機能です。
C#using System.Linq;
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);
}
文字列のListから条件に合うデータを取り出すこともできます。
C#List<string> names = new List<string> { "Taro", "Hanako", "Jiro", "Hiroshi" };
var filteredNames = names.Where(name => name.StartsWith("H"));
foreach (string name in filteredNames)
{
Console.WriteLine(name);
}
並べ替えには、OrderByを使います。
C#List<int> scores = new List<int> { 80, 60, 90, 70 };
var sortedScores = scores.OrderBy(score => score);
foreach (int score in sortedScores)
{
Console.WriteLine(score);
}
LINQを使うと、複雑なデータ処理も短く読みやすいcsharp codeで書けます。
9. C#コードを書くときによくあるエラーと対処法
9-1. コンパイルエラーとは
コンパイルエラーとは、C#コードを実行する前の段階で見つかるエラーです。文法ミス、型の不一致、存在しない変数やメソッドの使用などが原因になります。
たとえば、セミコロンを忘れるとコンパイルエラーになります。
C#Console.WriteLine("Hello")
正しくは次のように書きます。
C#Console.WriteLine("Hello");
コンパイルエラーが出た場合は、エラーメッセージに表示されるファイル名、行番号、エラー内容を確認しましょう。
9-2. 型変換エラーの原因と修正方法
型変換エラーは、文字列を数値に変換できない場合などに発生します。
C#string input = "abc";
int number = int.Parse(input);
このコードでは、abcを整数に変換できないためエラーになります。
安全に変換するには、TryParseを使います。
C#string input = "abc";
if (int.TryParse(input, out int number))
{
Console.WriteLine(number);
}
else
{
Console.WriteLine("数値に変換できません");
}
ユーザー入力を扱う場合は、入力内容が必ず正しいとは限らないため、TryParseを使うと安全です。
9-3. NullReferenceExceptionの原因と対策
NullReferenceExceptionは、値が入っていない変数に対して処理を行おうとしたときに発生します。
C#string name = null;
Console.WriteLine(name.Length);
nameがnullなので、Lengthを取得できずエラーになります。
対策としては、nullかどうかを確認してから処理します。
C#string name = null;
if (name != null)
{
Console.WriteLine(name.Length);
}
else
{
Console.WriteLine("nameはnullです");
}
また、null条件演算子を使うこともできます。
C#string name = null;
Console.WriteLine(name?.Length);
C#ではnullを意識したコードを書くことが重要です。
9-4. 配列の範囲外エラーの対処法
配列の範囲外エラーは、存在しないインデックスにアクセスしたときに発生します。
C#int[] numbers = { 10, 20, 30 };
Console.WriteLine(numbers[3]);
この配列のインデックスは0、1、2までです。numbers[3]は存在しないためエラーになります。
対策として、配列の長さを確認します。
C#int[] numbers = { 10, 20, 30 };
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine(numbers[i]);
}
foreachを使えば、範囲外アクセスを避けやすくなります。
C#foreach (int number in numbers)
{
Console.WriteLine(number);
}
9-5. エラーメッセージの読み方
C#コードでエラーが出たときは、エラーメッセージをよく読むことが大切です。
エラーメッセージには、エラーの種類、発生した場所、原因のヒントが書かれています。初心者のうちは英語のメッセージに戸惑うかもしれませんが、すべてを理解しようとするより、まずは重要な単語を確認しましょう。
たとえば、cannot convertは型変換に関するエラー、does not existは存在しない名前を使っているエラー、NullReferenceExceptionはnullに関するエラーです。
エラーが出たら、行番号を確認し、その周辺のコードを見直す習慣をつけると、問題解決が早くなります。
10. 初心者がC#コードを上達させる学習手順
10-1. 基本文法を覚える
C#を上達させるには、まず基本文法を理解することが大切です。変数、データ型、条件分岐、繰り返し、配列、List、メソッド、クラスなどを順番に学びましょう。
最初からすべてを完璧に覚える必要はありません。サンプルコードを動かしながら、「この書き方は何をしているのか」を少しずつ理解していくことが重要です。
10-2. サンプルコードを写経する
初心者におすすめの学習方法が、サンプルコードの写経です。写経とは、コードを見ながら自分の手で入力することです。
ただコピーするだけではなく、変数名を変えたり、表示する文字を変えたり、条件を変更したりすると理解が深まります。
たとえば、Hello Worldのコードを書いたら、次は名前や年齢を表示するコードに変えてみましょう。
C#string name = "Taro";
int age = 20;
Console.WriteLine($"{name}さんは{age}歳です。");
小さな変更を繰り返すことで、C#コードの書き方に慣れていきます。
10-3. 小さなアプリを作ってみる
基本文法を学んだら、小さなアプリを作ってみましょう。実際に作ることで、文法の使い方が身につきます。
初心者におすすめのアプリには、計算機、ToDoリスト、数当てゲーム、メモ保存アプリ、成績判定アプリなどがあります。
たとえば、簡単な数当てゲームは次のように作れます。
C#int answer = 7;
Console.Write("1から10の数字を入力してください: ");
int input = int.Parse(Console.ReadLine());
if (input == answer)
{
Console.WriteLine("正解です");
}
else
{
Console.WriteLine("不正解です");
}
小さなアプリを作ると、入力、条件分岐、変数、出力などをまとめて練習できます。
10-4. 公式ドキュメントやリファレンスを活用する
C#を学ぶときは、公式ドキュメントやリファレンスを活用すると正確な知識が得られます。
特に、文法の詳細、標準ライブラリの使い方、クラスやメソッドの仕様を調べたいときに役立ちます。
初心者のうちは、公式ドキュメントをすべて読む必要はありません。わからないクラスやメソッドが出てきたときに調べる習慣をつけるとよいでしょう。
たとえば、DateTime、List、Dictionary、File、Consoleなどは、実践でよく使うため、リファレンスを確認しながら学ぶと理解が深まります。
10-5. GitHubで実践的なC#コードを読む
基礎に慣れてきたら、GitHubで公開されているC#コードを読むのも効果的です。
実際のプロジェクトでは、クラスの分け方、フォルダ構成、命名規則、エラー処理、テストコードなど、入門書だけでは学びにくい実践的な書き方を見ることができます。
最初は難しく感じるかもしれませんが、小さなプロジェクトや初心者向けのサンプルから読むと理解しやすくなります。
コードを読むときは、「このクラスは何をしているのか」「このメソッドはどこから呼ばれているのか」「なぜこのように分けているのか」を意識すると、実践的なC#コードの書き方が身につきます。
11. csharp codeに関するよくある質問
11-1. C#とC++やJavaの違いは?
C#、C++、Javaは名前や文法が似ている部分もありますが、特徴は異なります。
C++は、処理速度やメモリ制御を重視する場面で使われることが多い言語です。ゲームエンジン、組み込みシステム、高速なアプリケーションなどで使われます。
Javaは、Webアプリ、業務システム、Androidアプリなどで広く使われてきた言語です。C#と同じくオブジェクト指向の考え方を持っています。
C#は、.NETと組み合わせて使うことで、Web、デスクトップ、ゲーム、スマホアプリなど幅広い開発に対応できます。特にMicrosoft系の技術やUnity開発との相性がよい点が特徴です。
11-2. C#は初心者でも学びやすい?
C#は初心者にも学びやすい言語です。文法が整理されており、型の仕組みが明確で、開発環境のサポートも充実しています。
Visual Studioを使えば、コード補完やエラー表示があるため、間違いに気づきやすくなります。
ただし、クラス、オブジェクト指向、非同期処理、LINQなど、慣れるまで時間がかかる部分もあります。最初はコンソールアプリで基本文法を学び、少しずつ応用に進むのがおすすめです。
11-3. C#コードはスマホアプリ開発にも使える?
C#コードはスマホアプリ開発にも使えます。.NET MAUIを使うことで、C#でiOSやAndroid向けのアプリを開発できます。
また、Unityを使えば、C#でスマホゲームを作ることもできます。
スマホアプリ開発を目的にC#を学ぶ場合でも、まずは変数、条件分岐、繰り返し、クラスなどの基本を身につけることが大切です。基礎ができていれば、.NET MAUIやUnityに進んだときにも理解しやすくなります。
11-4. C#でWebアプリは作れる?
C#では、ASP.NET Coreを使ってWebアプリやWeb APIを作れます。
ASP.NET Coreは、C#と.NETを使ったWeb開発フレームワークです。企業の業務システム、会員サイト、管理画面、APIサーバーなどを作るときに使われます。
Webアプリを作る場合は、C#の基本文法に加えて、HTML、CSS、JavaScript、データベース、HTTPの仕組みなども学ぶとよいでしょう。
11-5. C#のサンプルコードはどこで探せる?
C#のサンプルコードは、公式ドキュメント、技術ブログ、GitHub、学習サイトなどで探せます。
初心者の場合は、まず短いサンプルコードから始めるのがおすすめです。長いコードをいきなり読むより、変数、if文、for文、List、クラスなど、テーマごとに小さなコードを動かしたほうが理解しやすくなります。
検索するときは、「C# 変数 サンプル」「C# List 使い方」「csharp code example」「C# ファイル 読み込み」など、学びたい内容を具体的に入力すると目的のコードを見つけやすくなります。
まとめ
csharp codeとは、C#で書かれたプログラムコードのことです。C#は、Webアプリ、デスクトップアプリ、ゲーム、スマホアプリ、業務システムなど、幅広い分野で使われている実用的なプログラミング言語です。
C#を学ぶときは、まず開発環境を準備し、Hello Worldのような簡単なコードから始めるのがおすすめです。その後、変数、データ型、条件分岐、繰り返し、配列、List、Dictionary、メソッド、クラスといった基本を順番に学びましょう。
実践では、ユーザー入力、文字列操作、日付処理、ファイル操作、例外処理、LINQなどのコードをよく使います。エラーが出たときは、エラーメッセージを確認し、原因をひとつずつ調べることが大切です。
C#コードを上達させるには、サンプルコードを写経し、小さなアプリを作り、公式ドキュメントやGitHubのコードを読むことが効果的です。基礎をしっかり身につければ、より実践的なアプリ開発にも挑戦できるようになります。

