C#

目次
C#とは
C#(シーシャープ)は、Microsoft によって開発されたプログラミング言語であり、.NET プラットフォーム上で動作する高水準言語です。C++ や Java の影響を受けたオブジェクト指向言語であり、デスクトップアプリケーション、Webアプリケーション、ゲーム開発(Unity)、クラウドアプリケーションなど幅広い用途で利用されています。
C#の特徴
C#は、.NET フレームワークと統合され、以下のような特徴を持っています。
- オブジェクト指向プログラミング(OOP): クラス、継承、カプセル化、多態性(ポリモーフィズム)をサポート。
- メモリ管理の自動化: ガベージコレクション(GC)により、手動でメモリ管理をする必要がない。
- 強力な標準ライブラリ: .NET ライブラリを利用して、データ処理、ネットワーク、データベース操作などが容易に実装可能。
- クロスプラットフォーム対応: .NET Core(現在の .NET)により、Windows、Linux、macOS で動作可能。
- 高い生産性: 直感的な構文、強力な開発ツール(Visual Studio)を提供。
C#の基本構造
以下に、C#プログラムの基本構造を示します。
基本的なC#プログラムの例
using System; // 標準ライブラリのインポート
class Program {
static void Main() {
Console.WriteLine("Hello, World!"); // 画面に文字列を表示
}
}
C#の基本構文
1. 変数とデータ型
C#では、変数を宣言する際にデータ型を指定する必要があります。
データ型の例
データ型 | 意味 | 例 |
---|---|---|
int | 整数型 | int age = 25; |
double | 倍精度浮動小数点数型 | double pi = 3.1415; |
char | 1文字 | char letter = 'A'; |
string | 文字列型 | string name = "Taro"; |
bool | 真偽値型 | bool isActive = true; |
2. 条件分岐(if文)
if 文を使って条件によって処理を変更できます。
using System;
class Program {
static void Main() {
int score = 80;
if (score >= 90) {
Console.WriteLine("評価: A");
} else if (score >= 70) {
Console.WriteLine("評価: B");
} else {
Console.WriteLine("評価: C");
}
}
}
3. 繰り返し処理(for, while ループ)
ループ処理を使用して、特定の処理を繰り返し実行できます。
for ループの例
using System;
class Program {
static void Main() {
for (int i = 0; i < 5; i++) {
Console.WriteLine("i = " + i);
}
}
}
while ループの例
using System;
class Program {
static void Main() {
int i = 0;
while (i < 5) {
Console.WriteLine("i = " + i);
i++;
}
}
}
4. クラスとオブジェクト
C#はオブジェクト指向プログラミング(OOP)を採用しており、クラスとオブジェクトを活用できます。
using System;
class Person {
public string Name;
public int Age;
// コンストラクタ
public Person(string name, int age) {
Name = name;
Age = age;
}
// メソッド
public void Introduce() {
Console.WriteLine($"私は {Name} です。年齢は {Age} 歳です。");
}
}
class Program {
static void Main() {
Person person = new Person("山田 太郎", 25);
person.Introduce();
}
}
C#の用途
C#は、以下のような分野で広く利用されています。
- デスクトップアプリ開発: Windows Forms(WinForms)や WPF を使用したGUIアプリケーション。
- Web開発: ASP.NET を使用して、サーバーサイドのWebアプリケーションを開発。
- ゲーム開発: Unityエンジンを使用した3D/2Dゲーム開発。
- クラウドアプリケーション: Microsoft Azure と統合してクラウドベースのアプリケーション開発。
- モバイルアプリ開発: Xamarin を使用してクロスプラットフォームのモバイルアプリを開発。
C#のメリット
- 高い開発効率: 強力なIDE(Visual Studio)と標準ライブラリにより、迅速な開発が可能。
- 自動メモリ管理: ガベージコレクション(GC)により、メモリリークを防ぐ。
- 安全性が高い: 型安全(Type Safety)が強化されており、バグが発生しにくい。
- マルチプラットフォーム対応: .NET を利用することで、Windows、Linux、macOS で動作可能。
C#のデメリット
- ランタイム依存: .NET 環境が必要なため、実行環境が制限されることがある。
- パフォーマンス面: ネイティブコード(C/C++)に比べると、若干のオーバーヘッドがある。
- 学習コスト: .NET 環境やライブラリの理解が必要。
まとめ
C#は、.NET プラットフォームと統合された高機能なプログラミング言語であり、デスクトップアプリ、Webアプリ、ゲーム、クラウドアプリなど幅広い分野で利用されています。高い生産性と安全性を備えており、特に Microsoft 製品と組み合わせた開発に最適です。