c# - 垃圾收集如何处理超出范围的对象?
问题描述
我对c#很陌生,所以如果我的问题的答案非常明显,我深表歉意......
Image
我想知道垃圾收集处理以下两个对象引用的方式是否有区别:
Size imgSize = System.Drawing.Image.FromStream(FileUpload01.FileContent).PhysicalDimension.ToSize();
, 和
Size imgSize;
using (System.Drawing.Image img = System.Drawing.Image.FromStream(FileUpload01.FileContent))
{
imgSize = img.PhysicalDimension.ToSize();
}
所以在第一个例子中,没有存储的图像引用,而在第二个例子中,using
子句应该强制处理。
GC 何时能够清理这两个图像会有什么不同吗?
提前致谢...
[编辑:] 明确地说,由于这被标记为重复,我的问题是 GC 在第一个示例中如何处理图像对象,因为在该语句执行后,我无法再访问图像对象。(我认为这与关于 GC 处理实现的一般性讨论不同IDisposable
)。
解决方案
推荐阅读
- android - 带有背景图像和表单的 Flutter Stack
- amazon-web-services - 在集群置放群组 (AWS) 中启动实例
- express - 快速路由:使用 router.use/all 和 router.param 控制流
- material-table - 使用filterPlaceholder时如何使用排序?
- javascript - 在 LightningChart JS 的工具提示上添加其他字段,包括 xvalue 和 yvalue
- swift - Swift 为什么我的(Equatable)日期对象在将其转换为字符串并返回后不相等?
- reactjs - 错误时打印警报或某些消息
- python - 在 UserUpdateForm 上隐藏电子邮件地址
- c# - LINQ 比较同一年、不同月份的值,如果值已更改,则进行计数
- swagger-ui - 缓慢的招摇扫描 - sdswsApiListingReferenceScanner : 扫描 api 列表引用