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 + おもにクロスプラットホームのための便利なライブラリ
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);
これだけ。インスタンス化もいらない。
ということで例としてはイマイチでしたが、初学時の悩みを整理してみました。
★ 最後に:もしもう一度、自分が0からC#を学習し始めるなら
・独学の場合は、Unity C#なら楽しいから続くかなと思います!
・でも上記のざっくり解説の通り、いろいろ基本的な流れが省略されている点が基礎を理解する妨げになるし、就職も考えるならVisual StudioでWindows Formを作りながらVisual C#でしょうか?
・私の場合は、書籍「独習C#」で学習したのですが、専門家が書いている安心感があり結構よかった覚えがあります。しっかりした基礎を身につけるなら1冊くらいは書籍購入からでしょうか。
Unity開発で始めるならこちらがおすすめ
基礎から始めるならこちらがおすすめ
開発環境(ハード)選び
PCの最低要件
OS: Windows10(64bit)以上。
メモリ 16GB
グラフィックカード NVIDIA GeForce GTX 1060 6GB または AMD Radeon RX 580 8GB
ストレージ SSD 256GB以上
iOSアプリ開発なApple製PC(M1チップ以上)が必要
ディスプレー
1920×1080以上
iOS開発ならAppleデバイスと同じ60Hzあれば十分
キーボード
ワイヤレスの方がおすすめですが、好きなものでもOK
マウス