C#とUnity C#の違いについては、C#の勉強を始めたとき、迷ったこと
■ ざっくり理解
結論:
C < C# < Visual C# < Unity C#
ざっくり、説明しましたが、C#はCの派生言語で、C#とVisual C#にはコードを記述する上での違いはありません。
関係性:
1.C言語:殆どの言語のベースになっている言語(C#との互換性なし)
2,C# = 1 + 便利機能
3.Visual C# = 2 + 便利な拡張機能(Visual C#はVisual Studioを通じて開発されるC#プロジェクトのこと)
4.Unity C# = 3 + おもにゲームオブジェクトを操作するための便利なライブラリ
■ ざっくり解説
サイコロの目を出すとした場合、1〜6の乱数の取得する場合で説明すると
C言語では
srand(seed) % 6 + 1
これだけですが、ただし引数seedが同じなら同じ数字からスタートするという問題がある。
そのためseedには、いちいち現時刻をキャストして入れていたけど、C#ではその必要がなくなった。
C#, Visual C#では
Random rand = new Random();
rand.Next(1,7);
C言語と違い、オブジェクト指向言語なので、Randomクラスのインスタンスを生成する必要がある。
C言語の引数seedの問題点は、C#が解決している。
Unity C#では
Ramdom.Range(1,7);
これだけ。インスタンス化もいらない。
ということで例としてはイマイチでしたが、初学時の悩みを整理してみました。
もし、もう一度C#を0から学習するなら
・独学の場合は、Unity C#なら楽しいから続くかなと思います!
・でも上記のざっくり解説の通り、いろいろ基本的な流れが省略されている点が基礎を理解する妨げになるし、就職も考えるならVisual StudioでWindows Formを作りながらVisual C#でしょうか?
・私の場合は、書籍「独習C#」で学習したのですが、専門家が書いている安心感があり結構よかった覚えがあります。しっかりした基礎を身につけるなら1冊くらいは書籍購入からでしょうか。