Tag: c# 7.2

如何使用Parallel.For固定一个通用的Span 实例来处理它?

我正在使用新的Span类型重写我的一些扩展方法,并且我无法找到正确固定通用实例的方法,以便能够使用并行代码来处理它。 例如,考虑这种扩展方法: public static unsafe void Fill(this Span span, [NotNull] Func provider) where T : struct { int cores = Environment.ProcessorCount, batch = span.Length / cores, mod = span.Length % cores, sizeT = Unsafe.SizeOf(); //fixed (void* p0 = &span.DangerousGetPinnableReference()) // This doesn’t work, can’t pin a T object void* p0 = Unsafe.AsPointer(ref span.DangerousGetPinnableReference()); { byte* […]

Visual Studio项目设置中的c#7.2在哪里?

我见过人们使用和讨论c#7.2function,但我似乎无法找到它。 我有最新的更新,只列出了7.1版本。 为什么以及如何获得v7.2? 眼镜: Visual Studio 2017版本15.4.4 Visual C#2017 – 00369-60000-00001-AA303

如何将C#字符串转换为Span ? (跨度)

如何将字符串转换为Span ? Span mySpan = “My sample source string”;

Span 不需要局部变量赋值。 这是一个function吗?

我注意到即使没有初始化局部变量,下面的代码也会编译和执行。 这是Span的一个特色吗? void Uninitialized() { Span s1; var l1 = s1.Length; Span s2; UninitializedOut(out s2); var l2 = s2.Length; } void UninitializedOut(out Span s) {}

我在哪里可以找到新的Span ?

每个人都在写关于新类型Span有多Span所以我急切地想要在我的库中重写几个方法,但实际上我在哪里找到它? 我已将Visual Studio 2017更新到最新版本15.5.0,其中change-log表示: C#编译器现在支持7.2组语言function,包括: 支持通过ref struct修饰符在整个Kestrel和CoreFX中使用的Span类型。 但是当我尝试使用它时我的代码我收到错误而智能感知无法解决它。 这是一个.net 4.6.2项目,语言版本设置为最新的未成年人 。 我是否需要安装一些NuGet包才能使用它? 我无法弄清楚这一点。