MISW.github.io

What is C#?

C# (C sharp) とは2002年に登場したMicrosoft謹製のプログラミング言語の一つです。

有名なC/C++やJava、Python等よりも後に開発された言語で、比較的新しい言語です。歴史が浅いとも言えますが、その分構文が洗練されており、他の言語の良い言語仕様を積極的に取り入れるなど、便利で使いやすい言語 となっています。他言語経験者の方にざっくりと雰囲気を説明するならば、JavaとC++を足して2で割ったオブジェクト指向言語をベースに、SQL等色んなものを混ぜこぜにした感じです。(一番よく似ている言語は?と言われれば、Javaです。)

プログラミング初心者の方には難しいと感じるかもしれませんが、このような特徴から、他の言語を勉強する際にC#で学んだ知識を流用しやすい ため、一つで三つも四つも美味しい言語 と言えるでしょう。勿論、ある程度別の言語を触ったことのある経験者の方からすれば、過去に触っていた言語やその周辺知識を流用することが出来る ため、馴染みやすい言語 とも言えるでしょう。

学習にあたって、特にVisual Studioを使用した場合、IntelliSense(VisualStusioにある入力補完機能のこと)の恩恵を受けられるため、大してタイピングはせずとも、またC#に詳しくない状態でも、サクサクと書けてしまいます。Windowsで開発をする方には、一番オススメ と言っても良い程素晴らしい言語です。(他OSの方にも勿論オススメです!)

推奨エディタ・IDE

応用例 (C#で何が出来るのか?)

C#が使われている例としては以下のものが挙げられます。

  1. Unityのスクリプト (ちょろっと勉強するだけで、すぐ書けるようになります。オススメです。)

  2. WPFやUWPアプリケーション開発 (ちょっと勉強が必要ですが、お手軽にGUIアプリが作れるようになります。)

  3. Xamarinによるクロスプラットフォームアプリケーション開発 (勉強量が鬼のように多く、バグとの闘いになることが多いですが、その分莫大なメリットが得られます。まだまだ発展途上なので、将来性はバツグンです(2018年4月時点)。)

よく分からない単語が多いですね。以下で一つ一つ説明していきたいと思います。

ゲーム制作サークルだけあって、Unityはほぼ確実に触ると思いますし、時々開催されるハッカソンでも、アプリ開発の上で役立つことは間違いないです。(勿論、C言語等ではおなじみの、コンソールアプリケーションの作成をはじめとして、上記の内容以外にも出来ることは色々あります。)

学習法

それでは、具体的な学習法の紹介に移りたいと思います。

キーワード

応用例で示したようことが出来るようになる上で押さえておいて欲しいキーワードをまとめておきます(グループ分けの意味等は後ほど説明します)。[C# によるプログラミング入門 ++C++; // 未確認飛行 C](http://ufcpp.net/study/csharp/)を読み込んで理解してもらえると良いです(日本語で書かれているC#のサイトとしてはここが最良かと思います)。

なお、太字 で示したキーワードは 特に重要なもの です。

グループ1

グループ2

目的に応じた学習法指南

学習法一覧

Step1 C#の基礎

一週間で身につくC#言語の基本の基礎と発展の部分をこなし、プログラミングの基礎とオブジェクト指向等を押さえてしまいましょう。手を動かして理解することが大事 です。

Step 2-1 WPF入門

やや情報が古めですが、日本Microsoft社のかずきさんのブログ、「WPF入門」がおすすめです。ここの内容が理解できれば、大抵のWPFアプリは作れるようになります。

Step 2-2 UWP入門

日本Microsoft社のかずきさんによる、かずきのUWP入門がおすすめです。SlideShareかLinkedInのアカウントを取得すれば、PDFをダウンロードできるようになります。

Step 2-3 Xamarin入門

Xamarin.Formsに関しては、日本Microsoft社のかずきさんの、かずきのXamarin.Forms入門がおすすめです。UWP入門同様、SlideShareかLinkedInアカウントを取得すれば、PDFをダウンロードできるようになります。

そもそもXamarin.Formsの新規プロジェクトを作成する段階で、PCL方式とShared Project方式の二つがあって迷うかと思います。ネットの資料では、たいていがPCLで作成しておりますので注意してください。(進歩が激しく、最近は、PCLという言葉自体がなくなりかけているらしいです・・・。”Shared Project”と書かれていない方を選ぶようにしてください。)

Xamarin.Native(Xamarin.AndroidやXamarin.iOS)に関しては、それぞれネットに上がっている資料を適宜参照してください。(詳しくなくてごめんなさい。)

Step3 MVVMとPrism

WPFやUWP、Xamarinで本格的な開発をする際に役立つ技術が、“MVVM” です。この技術を実現する上で役立つライブラリがPrismとなっております。

Prismに関しては、それぞれStep2の資料の最後に言及があります。より詳しく知りたい場合は、簡単MVVM入門 with Prism (51代プロ研しくがわ氏による解説!) や、今さら入門するMVVMに必要な技術要素(Xamarin.Forms & UWP)や、Prism for Xamarin.Forms入門を参考にしてみてください。(Google先生、あとは頼みましたぞ・・・!)

おわりに

C#はこの通り、応用範囲が広く、かつ便利な言語です。長々とした駄文を書き連ねてしまって、申し訳ない限りではありますが、この資料を通じて少しでも読者の皆さんが C#er に傾いてくれたのなら、嬉しい限りです。

皆さんの精進を心より願っております。ぐんぐん強くなって、今度は逆に僕にC#を教えてください!

Last edited on 2018/4/3 Written by MIS.W 51代 プロ研 あたふた@at0x0ft