gpt4 book ai didi

c# - 堆栈中的对象创建

转载 作者:行者123 更新时间:2023-11-30 19:22:26 24 4
gpt4 key购买 nike

关于 .net 和 C#,我可以在堆栈中创建我的类的对象吗?例如:

class abc { int i=1; } 
abc a1=new abc();

现在,这里的对象是在堆中创建的。那么,如果对象的大小不大,有没有办法在ram的栈内存中创建对象呢?

最佳答案

.NET 引用类型始终存在于 GC 堆中。别处不可能有它们。即使是 C++/CLI 也支持类似的东西

System::Random rnd;
rnd.Next();

看起来像堆栈变量,实际上在 GC 堆上创建了 Random 类(如果它实现了 IDisposable.)

也就是说,正如 Eric Lippert 所说,the stack is an implementation detail并且您应该主要关心您创建的类型的引用或值语义。

关于c# - 堆栈中的对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com