Questions tagged «stackalloc»

5
实际使用`stackalloc`关键字
用stackallocC#编程时有没有人真正使用过?我知道它是做什么的,但是它唯一一次出现在我的代码中是偶然的,因为例如Intellisense在我开始键入时就建议这样static做。 尽管它与的使用情况无关stackalloc,但实际上我在我的应用程序中做了相当多的旧互操作,因此我时不时地可以诉诸使用unsafe代码。但是,尽管如此,我通常会找到unsafe完全避免的方法。 而且由于.Net中单个线程的堆栈大小约为1Mb(如果我写错了,请纠正我),因此我对使用保留了更多stackalloc。 在某些实际情况下,有人会说:“对于我来说,使用不安全的数据和处理量恰到好处stackalloc”?
134 c#  keyword  stackalloc 

1
这种不安全的代码是否也可以在.NET Core 3中使用?
我正在重构我的库,以Span<T>尽可能避免堆分配,但是由于我也针对较旧的框架,因此我也在实现一些通用的后备解决方案。但是现在我发现了一个奇怪的问题,我不确定是在.NET Core 3中发现了错误还是在做违法的事情。 问题: // This returns 1 as expected but cannot be used in older frameworks: private static uint ReinterpretNew() { Span<byte> bytes = stackalloc byte[4]; bytes[0] = 1; // FillBytes(bytes); // returning bytes as uint: return Unsafe.As<byte, uint>(ref bytes.GetPinnableReference()); } // This returns garbage in .NET Core 3.0 …
42 c#  stackalloc 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.