【Unity/C#】「_(アンダーバー)」の意味と使い方

C#

_(アンダーバー)

意味

基本的には「なし」という意味

使い方

「_(アンダーバー)」を使わない場合

this.OnCollisionEnterAsObservable()
    .Where(collision => collision.transform
        .TryGetComponent(out BulletDetailBase bullet))
    .Subscribe(collision =>
    {
        //上記のcollision変数を用いた処理
    })
    .AddTo(this);

3行目の bullet 変数は「TryGetComponent()」の引数における out 宣言に必要であるため、仕方なく記述したが、それ以降のコードで1度も使用されていない。Visual Studio では、このような「宣言はされているものの、1度も使用されていない変数」は黒色ではなく灰色で表示されるため、見ていて美しくない上にホワイトボックステスト等の際に混乱が生じる原因になりかねない。

ホワイトボックステスト とは、システム内部の構造を理解した上でそれら一つ一つが意図した通りに動作しているかを確認する、プログラムのテスト方法。

ホワイトボックステストとは – 意味をわかりやすく – IT用語辞典 e-Words

「_(アンダーバー)」を使う場合

this.OnCollisionEnterAsObservable()
    .Where(collision => collision.transform
        .TryGetComponent(out BulletDetailBase _))
    .Subscribe(collision =>
    {
        //上記のcollision変数を用いた処理
    })
    .AddTo(this);

3行目の「_(アンダーバー)」は灰色ではなく黒色で表示されるため、見ていて美しく、3行目を見ただけで「変数ではあるものの、使用しない」という事も見ていて伝わるため、混乱が生じない

お問い合わせ

    タイトルとURLをコピーしました