この本をばらばらとやっていく
c#プログラミングのイディオム/定石&パターン
演習問題の解答は本には載ってないけど、下からコードをダウンロードできる。
https://gihyo.jp/book/2017/978-4-7741-8758-7/support
環境構築
ファイル>新規作成>プロジェクトでコンソールアプリを作る
プロジェクト名がnamspaceに自動でつく。
program.csが自動でできる。
この中に
static void Main(string[] args)
{}
が書いてある。
自分でスクリプトを追加するときはソリューションエクスプローラーのソリューション名右クリック>追加>クラスでできる。もしくはShift+Alt+C
名前を付ける
ファイル名がクラス名になる。
ソリューションエクスプローラーを消してしまったら上の「表示」から表示できる。
コンソール
Console.WriteLine("MyClass: ({0},{1})", myClass.X, myClass.Y);
Console.ReadKey();
値型と参照型
値型は変数に直接値を入れる
参照型は参照してるメモリのアドレスを入れている。
構造体は値型、クラスは参照型
大きいサイズのオブジェクトを入れるときは参照型。値型だと変数を代入するたびに中身をコピーしないといけなくて大変。
逆に小さいサイズのオブジェクトは、値型に入れたほうがメモリ効率がいい
構造体を自分で作ることはまずない。
static 静的メソッドはインスタンス化せずに使える
名前空間
namespace Tomasheep{
}
using Tomasheep;
継承
public class Enemy : Person{
}
クラスの頂点はObjectクラス