if文を使用してスタックのメモリ割り当て解除を支援する必要がありますか?if文を使用してmicromanageスタック
例A:
var objectHolder = new ObjectHolder();
if (true)
{
List<DefinedObject> objectList;
using (var sr = new GenericStreamReader<DefinedObject>())
{
objectList= sr.Get().ToList();
}
if (true)
{
var DOF = new DefinedObjectFactory();
objectHolder.DefinedObjects = DOF.DefineObjects(objectList);
}
}
//example endpoint
例B:例エンドポイントは、例えばエンドポイントは、実施例Bに達したとき対に達したとき
var objectHolder = new ObjectHolder();
List<DefinedObject> objectList;
using (var sr = new GenericStreamReader<DefinedObject>())
{
objectList= sr.Get().ToList();
}
var DOF = new DefinedObjectFactory();
objectHolder.DefinedObjects = DOF.DefineObjects(objectList);
//example endpoint
ウィル例Aは、スタック上の軽いフットプリントを持っています?
まったく同じマシンコードに変換されなかった場合、私は軽く驚きました。 – cHao
@cHao - しかし、変数が範囲外になると、メモリは割り当て解除されませんか? –
必ずしもそうではありません。地方自治体は関数の始めに割り当てられ、関数が終了したときにのみクリーンアップされます。 – cHao