c#7元组。 无法在mac dotnet core 1.1中使用元组
我试图在macOS中实现Visual Studio代码中的元组c#7新特性。
using System;
using System.Collections.Generic;
namespace newcsharp
{
public class Program
{
public static void Main(string[] args)
{
int[] numbers = { 1, 3, 4, 10, 6, 20, 78, 15, 6 };
var result = Range(numbers);
Console.ReadLine();
}
private static (int Max, int Min) Range(IEnumerable<int> numbers)
{
int min = int.MaxValue;
int max = int.MinValue;
foreach (var n in numbers)
{
min = (n < min) ? n : min;
max = (n > max) ? n : max;
}
return (max, min);
}
}
}
我得到以下的错误。
我在我的项目中包含了用于使用元组功能的System.ValueTuple包。
我的project.json
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
},
"System.ValueTuple": "4.3.0"
},
"frameworks": {
"netcoreapp1.1": {
"imports": "dnxcore50"
}
},
"tooling": {
"defaultNamespace": "newcsharp"
}
}
任何帮助赞赏。
C#7的编译器尚未发布。 在你的项目和问题中,没有迹象表明你正在使用它的RC版本。 ValueTuple只是对编译器的类型支持。
等待发布VS2017(2017年3月7日)...应该包含C#7,并且在同一时间框架内将会有一个.NET Core版本,最有可能包含新的编译器。
像元组这样的C#7功能现在可以与最新版本的VSCode和C#扩展一起工作。
请注意,您确实需要引用System.ValueTuple。
只要确保使用.csproj而不是project.json。
您可以使用以下最低限度的.csproj:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.ValueTuple" Version="*"/>
</ItemGroup>
</Project>
请享用 ;)
链接地址: http://www.djcxy.com/p/37333.html上一篇: c# 7 tuples . not able to use tuples in mac dotnet core 1.1
下一篇: How to create Socket.io client in Python to talk to a Sails server