在C#开发中,经常遇见资源被占用,无法进行覆盖删除等操作。

以Image类为例,Image.From*方法,都会Lock资源,导致资源无法释放,特别是文件资源。

这时,我们可以先读取文件,然后将文件保存到MemoryStream中,然后再从内存中读取文件。

MemoryStreamms=newMemoryStream();Imageimg=Image.FromFile(Path);img.Save(ms,img.RawFormat);img.Dispose();Imagep_w_picpath=Image.FromStream(ms);