C# 在循环中重新创建大位图之前是否需要Dispose()?
假设我有代码:C# 在循环中重新创建大位图之前是否需要Dispose()?,c#,C#,假设我有代码: void Method1() { Bitmap bitmap1; foreach (string name in OpenFileDialog1.FileNames) { bitmap1 = new Bitmap(name); ... // process bitmap bitmap1.Dispose(); } } 在循环中是否需要Dispose()。该位图对象在文件上保持内存映射打开 此代码结构的更好方法
void Method1() {
Bitmap bitmap1;
foreach (string name in OpenFileDialog1.FileNames) {
bitmap1 = new Bitmap(name);
... // process bitmap
bitmap1.Dispose();
}
}
在循环中是否需要Dispose()。该位图对象在文件上保持内存映射打开 此代码结构的更好方法可以使用
使用:
void Method1() {
foreach (string name in OpenFileDialog1.FileNames) {
using (var bitmap1 = new Bitmap(name))
{
... // process bitmap
}
}
}
标记答案的可能副本应该解释您需要处理它的原因。使用
似乎也包含在链接副本中► 为什么用var
而不是Bitmap
声明bitmap1?@PauloBarretto:我在decl时间赋值时总是使用var。typesystem每次都会推断出正确的类型。