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

时间:2016-09-20 16:30:59

标签: 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
        }
    }
}

1 个答案:

答案 0 :(得分:5)

根据this postpowershell -Command "& { try { <PowerShell commands> } catch { Write-Host "post-build : PowerShell error $^($_.Exception.HResult^) : $_"; exit $_.Exception.HResult; } }" 示例方法来自:

  

注意:在预览版4中,范围规则更具限制性:输出变量的范围限定为声明它们的语句。因此,上述示例在稍后发布之前不起作用。

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

  

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

     
      
  • 在解决方案资源管理器中右键单击该项目,然后选择“管理NuGet包...”
  •   
  • 选择“浏览”标签,选中“包括预发布”,然后选择“nuget.org”作为“包源”
  •   
  • 搜索“System.ValueTuple”并安装它。
  •