我是一名 C++ 程序员,试图围绕 C# 进行思考,并发现了一些我关心的问题。要声明一个数组,您必须使用 New 运算符对吗?但这不会让垃圾收集器参与进来吗?
假设我有一个函数正在创建一个仅在该函数中使用的数组,并且每帧被调用数千次,那么所有这些对 New 运算符的调用不会给垃圾收集器带来很大的开销吗?
在 C++ 中,这些将是在堆栈上声明的数组,一旦函数结束就会退出范围,并且性能开销将是最小的,但在 C# 中,我担心在这种情况下垃圾收集器可能会占用多少性能。
那么我是否以正确的方式思考这个问题?这里涉及到垃圾收集器吗?它会引起问题吗?有没有更好的“C#方式”来做到这一点?