概要
「はじめてのプログラミング」でも書いているように、 C# を最速でマスターしたければ Visual Studio に頼りましょう!
ということで、「基礎」辺りで説明する予定の文法を、 Visual Studio の補助を受けつつ実際に書いてみます(動画あり)。
手始めに
Visual Studio 自体については「C# 開発環境」を参照してください。 このページは Visual Studio for Windows を元に撮った動画で説明していますが、 Visual Studio Code や Visual Studio for Mac でも似たような操作が可能です。
Visual Studio を使う準備ができたら、まずお約束の Hello World(というメッセージを表示するだけの簡単なプログラム)を作成。
-
プロジェクトの新規作成
-
[Visual C#] → [コンソール アプリケーション] を選んで、適当な名前を付けて [OK]。
- ひな形ができる。
-
cw と入力した後、[Tab] を2回押す。
- Console.WriteLine ってのが補完で出てくる。
-
WriteLine の中に、"" でくくって適当な文字列を入れる。
-
ビルド
-
メニューから [ビルド] → [ソリューションのビルド]。
-
もしくは、[F6] キーを押す。
-
もしくは [Ctrl] + [Shift] + b。
-
-
実行
-
メニューから [デバッグ] → [デバッグなしで開始]。
-
もしくは [Ctrl] + [F5]。
-
-
入力した文字列が表示されるはず。
変数
-
int i = 10;
- 整数型の変数 i に 10 という値を代入。
-
double x = 1.0;
- 小数(正確には「倍精度浮動小数点数」)型の変数 x に 1.0 を代入。
-
var で型推論ができる。
-
var i = 10;
だと、10 が整数なので i は int になる。 -
var x = 1.0;
だと、1.0 が小数なので x は double になる。
-
-
var にマウスカーソルを合わせると、推論結果の型が出る。
- その後、変数にマウスカーソルを載せると、変数の型が出る。
四則演算
-
x + y
とかで加減乗除ができる。-
+
で足し算。 -
-
で引き算。 -
*
で掛け算。 -
/
で割り算。
-
-
[Ctrl] + c で、今カーソルのある行を丸々コピー。
-
その状態で [Ctrl] + v で行の貼り付け。
-
その後、
+
のところだけ書き換え。
-
型変換
-
精度の高い型から低い型への変換は明示的に書く必要がある。
-
逆は暗黙的に変換がかかる。
-
double を int に変換すると、小数点以下が失われる。
-
int i = (int)x;
-
文字列
-
string s = "サンプルテキスト";
- 文字列型の変数 s を定義。
-
+
演算子で2つの文字列を連結できる。 -
string.Format で書式指定付きの文字列化。
-
string.Format(“({0}, {1})”, 10, 20);
- {0} のところに 10 が、{1} のところに 20 が入る
-
配列と反復
-
int[] で int 型の配列になる。
int[] x = new[] { 1, 2, 3, 4, 5 };
で5要素の配列を作る。
-
while まで入力したら [Tab] を2回押す
-
while (反復の継続条件)
-
ぶっちゃけ、あんまり while 使うことない
-
-
for まで入力したら [Tab] を2回押す。
-
for (初期値; 継続条件; 値の更新)
-
「10回繰り返す」とかやりたい時に使う。
-
ぶっちゃけ、配列の中身の列挙には次の foreach の方を使う方がいい。
-
-
-
foreach まで入力したら [Tab] を2回押す
-
配列とかの、コレクションの列挙
-
foreach (var 変数 in 配列)
-
条件分岐
-
if まで入力して [Tab] 2回もできるけど、それほどタイピング量減らない。
-
if (条件) 式;
-
必要なら if (条件) 式1; else 式2;
-
-
if (条件) 式 の後、 ; を打った時点でソースコードの自動整形がかかる。
関数
-
意味のある単位で細かく関数化しましょうね。
- 関数化したい範囲を選択して、右クリックして [リファクター] → [メソッド抽出]。
構造体
-
struct Point { public int X; public int Y; }
-
struct で構造体定義。
-
public とかの意味は「オブジェクト指向」以降で説明。
-
-
var p = new Point { X = 10 };
みたいな書き方でメンバーの初期化可能。
-
Usage First 開発。
-
「使い方」の方を先に書いて、そこからクラスや構造体を生成。
-
(Visual Studio 2010 からの新機能。)
-