假设我有这个 C# 类:
public class HttpContextEx
{
public HttpContext context = null;
public HttpRequest req = null;
public HttpResponse res = null;
}
如何在函数内声明一个对象,使其分配在栈上而不是堆上?
换句话说,我想避免使用'new'关键字。以下代码是错误的:
HttpContextEx ctx = new HttpContextEx(); // << allocates on the heap!
我非常清楚栈和堆是什么,并且听说过C#的优秀垃圾回收机制,但我坚持将这个只是用于方便的小对象分配到栈上。
这种态度来自于C ++(我的主要工具),所以我不能忽略它,我的意思是这真的破坏了我的乐趣(:
HttpContextEx
的目的是什么呢?现有的HttpContext
类已经提供了Request
和Response
属性。 - John Rasch