質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

5回答

5118閲覧

C#の学習をしたいが参考にするべきものがわからない

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/03/12 13:43

Unityを扱えるようになるためC#の知識を身につけたいと考えています。
しかし、何を学べばいいのか、王道や定番がわからず悩んでいます。

C#特有の機能や、プログラミング入門者向けの初歩的な知識以外を学びたいのですが、
自分で調べても命名規則すら複数の意見があり何が一般的なのか判断できません。
間違った知識や方法を学んでいるのではないかと常に不安を感じます。

多くの人に支持されている手法や標準的な知識を学べる書籍、
独特な工夫などが凝らされていない平凡な技術で構成されたサンプルがあるサイトなどはないでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SVC34

2017/03/12 14:16 編集

自分がこれまでは何を使って学んできたのか、どのようなものを作ったことがあるのか、他の言語での経験等を追記すると、具体的なアドバイスを得やすいかもしれません。
guest

回答5

0

Unityのプログラムは(C#に限らずJavascriptも)Unity用にカスタマイズされています。

  • 本来C#に無い機能をUnity側で補っている場合がある。
  • 本来C#で使えるはずの機能がUnity側で使えない場合がある。
  • C#以外の知識が必要になる場合がある(シェーダー等)。

上記の理由から、「素のC#」を勉強したいならUnityを使うべきではないと思います。
「Unityを使えるようになる為にC#を勉強したい」というのも効果が薄い可能性があります。

書籍・解説サイトを見るにしても、

  • C#の解説はUnityで当てはまらない場合がある。
  • Unityの解説はC#に深く切り込んでいない場合が多い。

ので、紹介しても的外れになるケースも多いのかなぁと個人的には思っています。

もちろん「とりあえずゲームを作る→資料を探してリファインする」という工程をするならUnityは非常に強力なツールだと思います。
これらを踏まえた上で「UnityもC#も両方学習する」のが最適解かと思いますが、時間は有限なのでどちらに比重を置くかを考えた方がいいかもしれません。

投稿2017/03/13 00:50

sakura_hana

総合スコア11425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

最初は片っ端から手をつけて感化されて、あとで恥ずかしい思いをする事が大事です。
プログラムの場合、王道を行くよりも道を極めると考えた方が良いです。
たくさんの意見を吸収して下さい。

特有の機能を避ければそれはC#で書く意味がありません。
特にUnityであれば独特の機能であるasync/awaitを使わないのはむしろ邪道では無いでしょうか。

ただ、聞きかじりの知識を避けたいのなら一番くわしい資料に当たるべきです。

一つはZuishinさんのおすすめのように公式すなわちMSDNです。
ただ、私はC# によるプログラミング入門もよく見ます。

書籍であれば一番分厚い本、分厚い本は丁寧にかかれているので、初心者向きが多いです。
おすすめは、独習C#です。(この本はサンプルコードが多いので、書き方についてもなんとなく学ぶことが出来ます。)

投稿2017/03/12 14:20

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2017/03/13 00:18

横から失礼します。 >特にUnityであれば独特の機能であるasync/awaitを使わないのはむしろ邪道では無いでしょうか。 Unityでasync/awaitを使おうと思うと一手間必要なのですが、それを踏まえても「邪道」なのでしょうか? また、この文章ですと「async/awaitはUnity独特の機能である」と読めるので初心者に対して誤解を生むかと思います。
iwamoto_takaaki

2017/03/13 03:58

質問に「C#特有の機能」とありましたのでそれに対しての言葉です。 また、標準のサポートではないので、開発環境によっては利用が制限される場合もあるでしょうね。 言語の機能をちゃんと使わないのは、王道とは言えないという意図でasync/awaitを使わないのは邪道という言い方は不適切でした。失礼しました。
guest

0

C#
C# のコーディング規則 (C# プログラミング ガイド)

このあたりは最低抑えておきたいです。

追記

あと、命名規則を気にされているようなので。
名前付けのガイドライン

投稿2017/03/12 13:57

編集2017/03/12 14:01
Zuishin

総合スコア28656

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ちょっと古いですが以下の書籍がわかりやすいです。
新プログラミング環境 C#がわかる+使える (@IT技術叢書シリーズ)
私は結構お世話になりました。

投稿2017/03/13 00:48

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

paizaラーニングサイトの

(1) コード・ガールこれくしょんの各言語コマンド練習問題

(2) 動画講座 C#入門編

(3) プログラミングスキルチェック ランクD問題

あたりから学習するとC#の文法の基礎はマスターできるでしょう。

また、クラウド上のプログラム実行サービスとして
paiza.iocloud9に登録してプログラムを打ち込んだりしてみると、開発環境のインストールの手間が省けて重宝です。

また、ドットインストールの動画講座 C#入門 も一部無料公開されています。

以上はC#のみならず、他の言語も無料で習得できます。私もpythonはpaizaラーニングで学習しました。

投稿2017/03/12 14:51

seastar3

総合スコア2285

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問