TOP

2018年1月21日 | テクノロジー

次期iPhoneにはジャパンディスプレイのフルアクティブ液晶が採用か

2018年1月21日にAppleが次期「iPhone」にて、ジャパンディスプレイの最新液晶ディスプ「フルアクティブ」を採用する可能性が浮上し...

2018年1月21日 | テクノロジー

Apple、iPhone 6 Plusの部品が欠品状態へ – iPhone 6s Plusとの交換事例も

2018年1月21日にAppleが、「iPhone 6 Plus」の部品が欠品状態になることが明らかとなりました。   ...

2018年1月21日 | テクノロジー

Amazon、 音声アシスタントAlexaのAndroid版をリリース

2018年1月21日にAmazonが、音声アシスタント「Amazon Alexa」のスマートフォン向けアプリケーションをまずはAndroid...

2018年1月20日 | テクノロジー

日本はどうなる!? 米Amazonプライムの価格が値上げへ

2018年1月20日に米Amazonが、有料会員である「Amazon Prime(アマゾンプライム)」の一部価格を値上げしたことが明らかとな...

2018年1月20日 | テクノロジー

iPhone X、2018年中盤に生産停止へ – iPhone Xの派生版がラインアップか

2018年1月20日にAppleが、プレミアムモデルである「iPhone X」の生産を2018年中盤より生産停止する可能性が浮上してきました...

2018年1月20日 | テクノロジー

Apple、HomePodのFCC認証を確認 – 間もなく販売開始か

2018年1月20日にAppleから販売予定のスマートスピーカー「HomePod」が、アメリカの連邦通信委員会(FCC)の認証を取得したこと...

2018年1月19日 | テクノロジー

Apple、2018年1月の第3週にiOSディバイスが固まる不具合を修正 – iOS 11.2.5

2018年1月19日にAppleが、2018年1月の第3週にiOSディバイスが固まる(フリーズ)してしまう不具合を修正した最新バージョンをリ...

2018年1月19日 | テクノロジー

Apple、38兆円でTeslaとNetflixを買収か

2018年1月19日にAppleが、海外で蓄積していた38兆円を使い、動画見放題サービスでおなじみの「Netflix(ネットフリックス)」と...

2018年1月18日 | テクノロジー

2019年モデルのiPhoneはFace IDモジュールが統一化されノッチが縮小

2018年1月17日にAppleが、2019年モデルのiPhoneにて顔認証システム「Face ID」に使われる「TrueDepth」カメラ...

2018年1月18日 | テクノロジー

ティム・クックCEO、次期iOSでバッテリー劣化による性能抑制機能をオフにする機能を発表

2018年1月17日にAppleのCEOであるティム・クック氏が次期iOSにて、バッテリーの劣化によるパフォーマンス抑制機能をオフにできる機...

2017年3月13日

Microsoft、C#の最新版である「C# 7.0」の新機能を発表

現地時間2017年3月9日にMicrosoftの「.NET エンジニアリングチーム」は、「New Features in C# 7.0|.NET Blog」にて、プログラミング言語であるC#の最新版「C# 7.0」の最新機能を発表しました。

 

 

 

 

 

C#7.0には多数の新機能が追加され、データ消費、コードの簡素化、およびパフォーマンスに重点を置いているようだ。

 

 

 

 

最大の特徴は、複数の結果を簡単に作成できるタプルと 、データの形状を条件とするコードを単純化するパターンマッチングとなっております。

 

 

 

 

同社はVisual Studio 2017と合わせて今回の情報を公開しており、「C# 7.0」を使ってVisual Studio 2017をアピールしていくようだ。

 

 

 

C# 7.0

「C# 7.0」では、データコンサンプションへの注力やコードのシンプル化、パフォーマンスの向上などが新たに加わった。

 

 

  • Out変数の導入(従来までは、引数で渡す前に変数を宣言する必要が無くなり、引数に指定する段階で変数を定義することが可能になった)
  • 変数が特定の型を持っているかどうかを判断する時に利用できるパターンの導入され、isやswitchなどでパターンを指定した判定が可能になる(使い方としてはOut変数とよく似た見た目になる)
  • タプル型とタプルリテラルの導入
  • タプルを複数の値に分割するデコンストラクタデクラレーションの導入
  • ローカル関数の導入
  • 数値リテラルにおいて区切り文字として_の使用を許可
  • 参照返値の追加
  • 非同期メソッドにおける返値の対象を拡張
  • throwエクスプレッションの利用できる場所を拡張

 

 

タプルとは

タプルとは、「(int x, int y)」のように2つの値を並べた書き方をしており、「名前のない型」を作る機能となっております。

 

 

class Sample {
    private (int x, int y) value;
    public (int x, int y) GetValue() => value;
}

 

注意しなけばならないのは、「new演算子」や「is演算子」、「usingディレクティブ」に関しては、タプルに扱えないようです。

 

 

 

仮に記載ししまった場合は、コンパイルエラー扱いになるようです。

 

 

 

 

ブログ内で解説に用いられているコードは、C#言語デザインのGitHubサイトにて公開されており、設計ノートやディスカッションをこちらで閲覧することができるようです。

出典元:.NET Blog, マイナビニュース

スポンサーリンク

あなたにおすすめの記事

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

こちらの記事もおすすめ

         

カテゴリ

タグ

参加してます


お気軽にお書きください

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)