C#7在VS 15 Preview 4中运行吗?

Jes*_*rty -1 c# c#-7.0

我尝试了一个简单的测试,但它不喜欢变量

作为一个简单的测试,我写了这个(也许它有一些简单的错误,但我也有模式和元组的麻烦)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{

    public class Program
    {
        static void Main(string[] args)
        {
            Runner runner = new ConsoleApplication2.Runner();
            Point p = new ConsoleApplication2.Point();
            runner.PrintCoordinates(p);
        }
    }


    public class Point
    {
        int x = 20;
        int y = 50;
        public void GetCoordinates(out int a, out int b)
        {
            a = x;
            b = y;
        }
    }

    public class Runner
    {
        public void PrintCoordinates(Point p)
        {
            p.GetCoordinates(out int x, out int y);
            Console.WriteLine($"({x}, {y})");       // x does not exist in current context
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 5

根据这篇文章,PrintCoordinates示例方法来自:

注意:在预览4,范围规则更为严格:暂时变量的作用域他们在声明的声明.因此,上面的例子不会到以后的版本一起使用.

新的元组遇到了类似的问题,尽管看起来你可以通过NuGet下载部分解决这个问题:

注意:元组依赖于一组基础类型,这些类型未包含在预览4中.要使该功能正常工作,您可以通过NuGet轻松获取它们:

  • 在Solution Explorer中右键单击该项目,然后选择"Manage NuGet Packages ..."
  • 选择"浏览"选项卡,选中"包含预发布",然后选择"nuget.org"作为"包源"
  • 搜索"System.ValueTuple"并安装它.