[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
しばらくC#から遠ざかっていたので、C#7.0の最新機能で遊んで自信を回復してみます。今回はout変数の単純なコードを書いてみます。
using System; class Program { static void Main(string[] args) { int x; int y; GetPoint(out x, out y); Console.WriteLine(x + ", " + y); } static void GetPoint(out int x, out int y) { x = 2; y = 3; } }
2, 3
outキーワードは2つ(以上)の結果を返すのに便利ですが、わざわざ予め変数の宣言に二行も使わなければならないのがめんどうです。
C#7.0からは次のように書くことができます:
using System; class Program { static void Main(string[] args) { GetPoint(out int x, out int y); Console.WriteLine(x + ", " + y); } static void GetPoint(out int x, out int y) { x = 2; y = 3; } }
2, 3
すばらしい!これなら気軽にoutキーワードを使えます!今までは事前準備が数行必要だというのが心理的な障壁になってしまっていましたが、一行でできるというのは強いです!
なお、varを使うこともできます。
using System; class Program { static void Main(string[] args) { GetPoint(out var x, out var y); Console.WriteLine(x + ", " + y); } static void GetPoint(out int x, out int y) { x = 2; y = 3; } }
2, 3
メソッドの宣言を見れば変数の型が分かるので、varでもいいのです。
using System; class Program { static void Main(string[] args) { GetPoint(out var x, out var _); Console.WriteLine(x); } static void GetPoint(out int x, out int y) { x = 2; y = 3; } }
2
時としてすべての値が欲しいわけではないということもあるでしょう。その場合は「_」を使うことで変数宣言しなくても良くなります。使わない変数で名前空間が汚染されるのも嫌ですしね。