2017年9月10日日曜日

C# TIPS: IDE0018はout変数のインライン化の勧め

今日のTIPSは、メッセージIDE0018の意味と回避法について。

■ Visual Studio 2017から採用されたC#7では、次のようにout変数をインライン宣言できるようになった。

  string str = "文字列";
  if (!int.TryParse(str, out int num)) {
    // intへの変換失敗処理
  }
  Console.WriteLine("num={0}", num);


同じ処理をC#6では次のように別行で変数宣言する必要があった。

  string str = "文字列";
  int num;
  if (!int.TryParse(str, out num)) {
    // intへの変換失敗処理
  }
  Console.WriteLine("num={0}", num);


もちろんC#7でも後者の書き方は有効だが、こう書くとIDE0018のメッセージが出てうるさい。



わかったよもー。インライン化すればいいんでしょ。まあ便利なことには間違いないので、これからout変数はインライン宣言するようにしたい。

■ その他いろいろC#7には新機能が盛り込まれているようだ。次のMSDN記事にまとめられているので、あとで読んでおこう。

.NET Framework - C# 7.0 の新機能
https://msdn.microsoft.com/ja-jp/magazine/mt790184.aspx

0 件のコメント:

コメントを投稿