VisualStudio2017新機能紹介
2017年4月3日
こんにちわ。営業統括事業部 上杉です。
弊社では、電波に関することだけではなくHTML、Javascript、C++、C#などの
プログラミング言語を使ってシステムの開発も行っています。
わたしはもともとプログラムを組むのが好きで、プライベートでもいろいろな
プログラムを作って遊んでいます。
もっとも好きなプログラミング言語はC#で、その大きな理由としてはLINQが
使えるからです。
LINQの一番の特徴としては、データ検索の際に、プログラムソースの中に
直接、SQLのようなアクセス方法でデータの検索ができるからです。
具体的なソースとしては以下の通りです。
using System; using System.Collections.Generic; using System.Linq; namespace VisualStudio2017_Verification { //データの中身のクラス class PersonalData { public string name { set; get; } public string official_position { set; get; } public int age { set; get; } } class MainClass { static void Main() { //PersonalDataクラスをListに適用し、データを入力。 List personal_data = new List { new PersonalData { name = 田中さん", official_position = "部長", age = 50 }, new PersonalData { name = "佐藤さん", official_position = "課長", age = 45 }, new PersonalData { name = "齋藤さん", official_position = "なし", age = 37 } }; //LINQ データの中から40歳以上の人を抽出。 var age = personal_data .Where(x => x.age > 40) .OrderBy(x => x.age) //昇順で並び替え .Select(x => x); //抽出したデータを表示。 foreach(var x in age) { Console.WriteLine("名前:{0} 役職:{1} 年齢:{2}", x.name, x.official_position, x.age); } } } }
このプログラムではLISTを使ってクラスのインスタンス化及びデータの入力を行った後に
LINQで条件に合うデータを表示させています。
このようにスマートなソースコードをかけるC#にとても惹かれています。
さて、先日3月17日にVisualStudio2017がマイクロソフトよりリリースされました。
早速、Community版をインストールしました。
まだまだ、使いこなせてはいないのですがVisualStudio2017(C#7.0)の新機能をレビューしたいと思います。
今回リリースされたC#7.0で追加された機能としてはタプルが使えるようになりました。
このタプルは構造体の簡易版のようなものです。
ソースとしては以下となります。
//型指定 (string name, int age)tuple1 = ("山田さん", 45); //メンバー名でそれぞれのメンバにアクセス。「山田さん 45」と表示 Console.WriteLine($"{tuple1.name}", "{tuple1.age}"); //型推論 var tuple2 = (name : 山田さん", age: 45); //メンバー名でそれぞれのメンバにアクセス。「山田さん 45」と表示 Console.WriteLine($"{tuple2.name}", "{tuple2.age}");
さらに、すごいのがこのタプルはメソッドの引数として使用することができます。
public (string name, int age)method((string, int)tuple) { return ("tuple.Item1", "tuple.Item2"); } var result = method("山田さん", "45"); Console.WriteLine($"{result.Item1}", "{result.Item2}");
そのほかにも、いろいろな機能が追加されています。
VisualStudio2017は無料でダウンロードできますので、ぜひお試しください。