Long-Slow-Distance

Programming Notes with Unity

メニュー

[C#] Listを比較用メソッドでソートする

Listを自前の比較用メソッドを使用してソートする方法。 複数の条件があったり、ソート条件を細かく指定したい場合に有用。 簡単なので以下サンプル。

スコアの昇順にソートしているが、スコアが同じ場合はさらにレベルの昇 […]

続きを読む

[C#] オブジェクトが特定のクラスを継承しているかをチェックして処理分けする

ある基底クラスを継承して派生クラスを複数作成した時に、 基底クラスベースでそれらのオブジェクトを扱う事がよくあるが、途中で継承した派生クラス別で処理を分けたい場合。 以下、サンプル。

GetType().IsSub […]

続きを読む

[C#] クラスオブジェクトのディープコピー

C#のクラスオブジェクトをコピーしたい場合がまれによくある。 特にパラメータ系のクラスオブジェクトを作成して、元のオブジェクトの値は保持したままにして 渡した先であれこれしたい場合だ。 C#のクラスは参照での扱い方がベース(でありウリである所)なので、参照先で値をいじると元の方も […]

続きを読む

指定したオブジェクトの子オブジェクトを全て削除する

特定のゲームオブジェクトを親として持つような管理をすることがよくあるのだが、 その際に「子オブジェクトを全て削除したい」というケースがよく発生する。 それらの子オブジェクトをシステムで管理していれば、そこから消すようにするのが妥当だが 全て管理するのも面倒であり、必要のない時もあ […]

続きを読む

[C#] 数値を3ケタ毎にカンマ区切りした文字列を作成する

世界基準なのかは詳しくは知らないが、数値を3ケタ区切りのカンマ付きで表示する事が多々あるので汎用化。 書式指定子にそれ用の便利なものがあるのでそれを使うだけ。ありがとうC#…

参考: http://ww […]

続きを読む

[C#] 数値の桁数を求める

数値の桁数が欲しくなる時はまれによくあるので、汎用化。

一見、ToString().Lengthが簡単だし速そうに見えるが、実際に測ってみると Log10を使う方が軽い。(両方ともfor文で1万回実行) まぁ、数値 […]

続きを読む

[C#] byte配列をとりあえず乱数で埋める

使う機会はほとんどないが、ストレージのファイル入出力を検証する時に とりあえず確保したバッファに何か適当な値を入れてファイル出力、っていうのをよくやるので その時にこれを使うと楽かなという。

System.Rand […]

続きを読む

[C#] 指定した確率でチェックをかける

?%の確率でアクションを起こしたい場合の汎用メソッド例。 引数に確率の値(0〜100)を渡して、通ればtrueを返す。