VS15RC 来たら本気出す #79

Open
ufcpp opened this Issue Aug 16, 2016 · 2 comments

Projects

None yet

1 participant

@ufcpp
Owner
ufcpp commented Aug 16, 2016 edited

一通り、今のmasterブランチから取ってきた最新版で確認して記事化完了。

@ufcpp ufcpp added enhancement C# 7 and removed enhancement labels Aug 16, 2016
@ufcpp ufcpp changed the title from ローカル関数のdefinite assignmentルール to Preview 5来たら本気出す Aug 28, 2016
@ufcpp
Owner
ufcpp commented Oct 24, 2016 edited

ローカル関数のdefinite assignmentルール

ちょっとスコープ変わったみたいなんで、http://ufcpp.net/study/csharp/functional/fun_localfunctions/ を修正。

  • ローカル関数の宣言より前でローカル関数呼べる
  • 実際にローカル関数を呼ぶまでに、キャプチャした変数が初期化されてればOK
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        Console.WriteLine(f(10));

        int f(int n) => n <= 1 ? 1 : n * f(n - 1);


        int a;
        int g(int n) => a * n;

        a = 5;
        Console.WriteLine(g(11));
    }
}
@ufcpp
Owner
ufcpp commented Oct 24, 2016

out var

http://ufcpp.net/study/csharp/sp_ref.html#out-var から、(※ Visual Studio "15" Preview 4の時点ではこの挙動になっていません。次のバージョンから変更になる予定です。) の文面消す。

タプルのページにもout varがらみあり。そこのサンプルが変更後のものになってて、今はサンプルコード、コメントアウトしてある。

x is T t

これのスコープも out var 同様

case T t はその case 内でだけ有効。これはPreview 5以降もそうのはず。

@ufcpp ufcpp changed the title from Preview 5来たら本気出す to VS15RC 来たら本気出す Oct 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment