我尝试了一个简单的测试,但它不喜欢变量
作为一个简单的测试,我写了这个(也许它有一些简单的错误,但我也有模式和元组的麻烦)
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)
根据这篇文章,PrintCoordinates示例方法来自:
注意:在预览4,范围规则更为严格:暂时变量的作用域他们在声明的声明.因此,上面的例子不会到以后的版本一起使用.
新的元组遇到了类似的问题,尽管看起来你可以通过NuGet下载部分解决这个问题:
注意:元组依赖于一组基础类型,这些类型未包含在预览4中.要使该功能正常工作,您可以通过NuGet轻松获取它们:
- 在Solution Explorer中右键单击该项目,然后选择"Manage NuGet Packages ..."
- 选择"浏览"选项卡,选中"包含预发布",然后选择"nuget.org"作为"包源"
- 搜索"System.ValueTuple"并安装它.
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |