新しもの好きプログラマの耳より情報ブログ

仕事でもあるプログラミングについて役に立ちそうな情報を発信していこうというブログです。役に立たなそうな情報はfacebookで。

C#で不要な戻り値やout引数を捨てるには_(アンダーバー)を使ったほうが良い

C#で、関数の戻り値やout引数が不要なので捨てたいという場合がある。

今まではnotUseのような適当な名前でダミーの変数を宣言していたが、C# 7.0からはもっと良い書き方が登場していた。

_(アンダーバー)を書けばよい。

これなら型指定もいらないし、書きやすいだけでなく実際にメモリ確保処理がスキップされるのでパフォーマンスにも良いようだ。

async関数の完了を待たない事を明示するためにとりあえず変数で受ける場合にも、これは有効だと思う。

最近のC#はこういう「知らなくても動くコードを書く上では困らないが、知っているとパフォーマンスが上がったりコードが読みやすくなって便利」という改善が多い。意識して調べないと腕が落ちてしまうので、普段から情報収集して色々試す必要がある。

参考:https://docs.microsoft.com/ja-jp/dotnet/csharp/discards