C# 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

我的问题好像不是这样的。这个方法还有一个功能是把一张xmd格式的图片放到我的应用程序目录下,每次读取的图片名字都是一样的。所以第一次读取成功后,刚存入的图片还在使用中,第二次读取一张又以同样的名字放到这个路径下边,这就需要覆盖第一次读取的图片,而第一次读取的图片正在使用,所以此方法就出现错误。
我觉得是这种情况,马上New一个image出来就搞定了。
但是我不知道怎么new 。
这是我看的帖和我的好一样。求new的方法

受保护的内存只允许系统内部调用,不允许用户使用,所以对于相关的操作都是失败的,都会报错。通常还有可能是那段内存内容为空或者为只读内存,当用户欲对只读内存进行修改时也会报类似的错误追问

我的问题好像不是这样的。这个方法还有一个功能是把一张xml格式的图片放到我的应用程序目录下,每次读取的图片名字都是一样的。所以第一次读取成功后,刚存入的图片还在使用中,第二次读取一张又以同样的名字放到这个路径下边,这就需要覆盖第一次读取的图片,而第一次读取的图片正在使用,所以此方法就出现错误。

是xmd......

追答

那你可以用using解除上次对文件的占用,这样就不会出这样的错了

追问

我不知道具体是什么代码?那个using?

追答

using会自动销毁{}间的对象eg

using (MySqlConnection Conn = new MySqlConnection(connStr))
{
string strSQL = "SELECT***111";
MySqlDataAdapter myDataAdapter111 = new MySqlDataAdapter(strSQL, Conn);
DataSet myDataSet111 = new DataSet();
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答