こんにちは、Takymです。
今回は、C# 6.0とC# 7.0を比較します。いよいよ最後ですね。
前回の記事→http://takymsystems.blog.fc2.com/blog-entry-13.html
C# 5.0 vs C# 6.0
C# 6.0とC# 7.0との比較の前にC# 5.0とC# 6.0を比較しますね。
using static
C# 6.0から、staticクラスをusingできるようになりました。
using static System.Console;
public class Program
{
public static void Main(string[] args)
{
for (int i = 0; i < args.Length; ++i)
{
// Consoleを省略できる。
WriteLine($"args[{i}]:{args[i]}");
}
}
}
C# 6.0 vs C# 7.0
それでは、C# 6.0とC# 7.0を比較します。
タプル
(int, string) a = (64, "TEST!!!!!!!!!!!!");
※この機能を使用するには、NuGetからSystem.ValueTupleを入手するか、
このページを参考にしてください。
出力変数宣言
if (int.TryParse("123", out var i)) {
Console.WriteLine($"Number is {i}");
}
型スイッチ
string DoSomething(object obj)
{
switch (obj)
{
case int n:
return $"It is a number. The value is {n}.";
case string s:
return $"It is a string. The value is {s}.";
default:
return $"It is a other object. The value is {obj}.";
}
}
それ以外の機能は割愛します。
これで、「C# 1.0~C# 7.0まで比較してみる」シリーズは終わりです。
感想
C# 1.0からC# 7.0までの進化が物凄いという事が分かりました。
また、新機能が多すぎて調べて書く作業が大変でした。
そのため、割愛が多すぎて残念だなと思いました。
この記事に関する指摘や分からない事はこの記事のコメント欄に書いてください。
最後まで読んでくれてありがとうございました。
参考にしたページ①:C# 6 の新機能 – C# によるプログラミング入門 | ++C++; // 未確認飛行 C
参考にしたページ②:C# 7 の新機能 – C# によるプログラミング入門 | ++C++; // 未確認飛行 C
目次ページできました。→http://takymsystems.blog.fc2.com/blog-entry-18.html