Where do I find the new Span<T>?

7.5k views Asked by At

Everyone is writing about how great the new type Span<T> is so I eagerly wanted to start rewriting a couple of methods in my libraries but where do I actually find it? I've updated Visual Studio 2017 to the latest version 15.5.0 where the change-log says:

The C# compiler now supports the 7.2 set of language features including:

  • Support for the Span<T> type being used throughout Kestrel and CoreFX via the ref struct modifier.

but when I try to use it my code I'm getting an error and intellisense cannot resolve it. It's a .net 4.6.2 project and the language version is set to latest minor.

Do I need to install some NuGet package in order to be able to use it? I can't figure this out.

2

There are 2 answers

0
juFo On BEST ANSWER

Visual Studio 2019: If you are using the full .NET Framework (e.g. 4.7.2):

  1. Go to NuGet packagemanager
  2. Search for System.Memory package by Microsoft and install it.

Now you will be able to use Span<T>.

No need to search for pre-release versions anymore.

5
Evk On

You need to install prerelease version (check "Include prerelease" checkbox in nuget manager) of System.Memory package. Then just use Span (it's in System namespace).