-4
ブロックを使用して「レンダリング」された画像は、どのように「b」を処理しますか?外部変数上でブロックを使用する範囲
Bitmap rendered;
using(Bitmap b = new Bitmap(calcHeight, calcWidth))
{
using (Graphics g = Graphics.FromImage(b))
{
RenderMyBitMap(ref b);
rendered = b;
}
}
//Outside Using block
DoSomeThingElseWith(rendered);
なぜあなたはそれを試してみて、自分で見てみませんか? –
まだ 'b'への参照があるので、ガレージを収集することはありません。 'rendered'がnullに設定されている場合、ガレージコレクションの次のサイクルでそれが取り除かれます。 –
私はどんなエラーも見ませんでした。メモリが満杯になっている(OOM例外が発生するのを待っている)か、それとも安全であるかを見つけることができませんでした。ブラック・フロッグの答えは正しいと思われる。しかし、それを確認することはできません。 –