0
votes

I have the below snippet of code to test/use dotnet 2.1 in vs 2017 in order to try out and run C# 7.2s Span functionality. Where can I find the SDK that allows me to run this within Visual Studio. I can only find frameworks up to 2.0.

using System;
using System.Memory;

namespace sim
{
class Program
{
    static void Main(string[] args)
    {

       var arr = new byte[10];
        Span<byte> bytes = arr; // Implicit cast from T[] to Span<T>

        Span<byte> slicedBytes = bytes.Slice(start: 5, length: 2);

    }      
}
}

Otherwise I'm left unable to run and use Error CS0305 Using the generic type 'Memory' requires 1 type arguments sim

2
.NET Core 2.1 is still in preview: github.com/dotnet/core/blob/master/roadmap.mdUnholySheep
But there's the VS2017 preview which presumably works with the 2.1 preview: visualstudio.com/vs/previewJon Skeet

2 Answers

2
votes

You do not need to install any SDK for using Span<T>

You need to install System.Memory nuget package which is prerelase version.

you can use this command

Install-Package System.Memory -Version 4.5.0-preview2-26406-04    

You also need to set your language version to 7.2 in your project properties and also you need Visual Studio 15.5 or more