C# (Cシャープ) とは?入門、Javaとの違い、ゲーム、配列、本

スポンサーリンク
プログラミング言語

プログラミング言語 C# について調べてみました。

C#(シーシャープ)とは

C#はJavaと並んで現在、最も使われている言語の一つです。

C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。

Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。

CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの[2]仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。

C#の特徴、できること

C#の最大の特徴は、マイクロソフトの.NET Frameworkで動作するバイトコードである点です。

.NET Framework とはアプリケーションの基盤となるテクノロジーであり、CLR (Common Language Runtime) とよばれる実行環境(ランタイム環境)のほか、アプリケーションにとって有益であるさまざまな機能が提供されています。

この点は、JavaがJava Runtime Environmentで動作するのと同じことです。

 

C#の言語仕様はJavaと文法が似ているため、Javaエンジニアが習得しやすい言語です。

C++で問題となったメモリ管理の問題が解決されている点が魅力ですが、Windows環境でのみの利用が可能という制限があります。

 

次に、C#でできることですが、パソコン、サーバー用のプログラムによく利用されているうえ、ゲーム、アプリ開発などにも幅広く使用されています。

また、企業向けの業務システムで利用されることも多いです。

そして、UnityというゲームエンジンではC#で記述することもできるので、簡単にゲームを作ってしまうことも可能です。

C# 初心者のための入門サイト

C#を初心者が学ぶための入門サイトはいくつかあります。

以下にまとめました。

 

Microsoft Visual Academy

こちらはマイクロソフト本家のサイトです。

Microsoft Virtual Academy 専門家が提供する e ラーニング コース

 

C#によるプログラミング入門

C# によるプログラミング入門
C# によるプログラミング入門です。C# 初心者の方はもちろん、これからプログラミングを始めようという方も対象としています。

 

一週間で身につくC#言語の基本

一週間で身につくC#言語の基本|トップページ~C#言語の初心者でも、簡単にプログラミングが気軽に学習できるサイトです。
プログラミングの初心者でも1週間でC#プログラミングが出来るように、基礎からきちんと学べるC#言語入門サイトです。基本的なプログラミングの方法から、オブジェクト指向を使ってプログラムを作る方法まで解説します。

C#を学習する本

C#を学習するのにおすすめの本は以下の通りです。

 

基礎からしっかり学ぶC#の教科書

基礎からしっかり学ぶC#の教科書

新品価格
¥3,024から
(2018/8/7 19:59時点)

独習C#新版

独習C# 新版

C#の構文、文法、使い方

C#の基本構文、文法や使い方としては以下をリファレンスにするとよいでしょう。

初心者に分かりやすくまとまっています。

C#プチリファレンス
C#開発者向けのサッと調べられるリファレンス集です。

C#の配列の初期化

次の例のようにすると、5つの整数の1次元配列を宣言することができます。

int[] array = new int[5];

この配列は、array[0] から array[4] の要素を含んでいます。 new 演算子を使用して、配列を作成し、配列要素を既定値に初期化します。

この例では、すべての配列要素はゼロに初期化されます。

C#でUnityを使ってゲーム作る本

C#を使うとUnityを使って簡単にゲームを作ることが可能です。

詳細は以下の本に詳しく書かれています。

UnityではじめるC# 基礎編

新品価格
¥2,808から
(2018/8/7 19:55時点)

本の内容は次の通りです。

~スマホアプリをつくりながらC#のキホンをしっかりマスター!!~

ゲームエンジン「Unity」でゲームをつくりながら、定番プログラミング言語「C#」の基礎をしっかり習得できます。

教材は、アプリ界の“和尚”いたのくまんぼう氏による、スマホゲームの人気ジャンル「脱出ゲーム」「物理ゲーム」のひな形2本!
学習者向けに、C#の難しい文法や概念は使わないシンプルなプログラムにするべく腐心し、カスタマイズやステージ追加を行いやすいように設計した力作!!

C#未経験者、Unity未経験者にはもちろん、過去にC#習得に挫折した経験者にも読んでほしい一冊です。

なお、本書ではUnity 5.4.0f3で動作検証を行っています。

【本書の構成】
Chapter 1 Unityで開発する準備をしよう
Chapter 2 C#の基本
Chapter 3 分岐とループ
Chapter 4 Unityを使ったプログラミング
Chapter 5 脱出ゲームを作ろう
Chapter 6 物理パズルを作ろう
Chapter 7 スマートフォンアプリの公開

C#とC++の比較

C++については以下にまとめました。

C++とは?初心者が学習?できること、難しい?特徴、CやJavaとの違い
プログラミング言語 C++について調べてみました。 C++とは?C言語との違い C++は、文字通りC言語の拡張版で、元々はC言語にオブジェクト指向の概念を取り入れたものでした。 C++(シープラスプラス)は、汎用プログラミング言語の一...

C++に比べるとC#は分かりやすく、習得が容易な言語と言えるでしょう。

 

一方で、C#は.NET Frameworkで動くバイトコードであるために、コンパイラであるC++よりも、一般的に遅いようです。

 

C#とC++の速度比較を行っているサイトが以下の通りです。

C#とC++の速度比較をちょっとまじめにやってみた - Qiita
# はじめに C++にとってGUI開発はお手軽ではなくGUI部をC#で開発することもよくあります。しかし、残念ながらC#とC++間のデータ交換は容易ではなく結構苦労します。 私はC++用のシリアライザTheolizerを開発してますが...

 
C言語、Javaについては以下にまとめました。

C言語とは?できること、初心者入門サイト、ソフト、使い方
プログラミング言語 C言語について調べてみました。 C言語とは C言語は、現時点で最も使用されているプログラミング言語の一つです。 C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した...
Java(ジャバ)とは?プログラミング言語、ダウンロード
プログラミング言語 Javaについて調べてみました。 Java(ジャバ)とは?意味、プログラミング言語 Javaは、狭義ではサン・マイクロシステムズが開発したプログラミング言語です。 一方、Javaは開発環境やJVM (Java ...

 

コメント