在 IsolatedStorage 中存储数组列表 [英] Storing arraylist in IsolatedStorage

查看:28
本文介绍了在 IsolatedStorage 中存储数组列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将数组列表存储到独立存储中?也可以将图像放在数组列表中吗?谢谢

how do i store a list of array into isolated storage? Possible to place image inside the arraylist too? Thanks

推荐答案

就像评论所说的,您只需要获得一些可序列化的对象,并且您可以将其存储在 IS 中.请注意多维数组不可序列化!

Like the comments said all you need is to get some serializable object and you're able to store it in IS. Be awate that arrays of more than one dimension are not serializable!

这是我用于 IS 的代码块:

Here is a code chunk I use for IS:

using System.IO;
using System.IO.IsolatedStorage;
using System.Xml.Serialization;

namespace PhoneApp1
{
public class IsolatedStorage
{
    public static void SaveToIs(String fileName, Object saved)
    {
        try
        {
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isf.FileExists(fileName))
                {
                    isf.DeleteFile(fileName);
                }


                using (IsolatedStorageFileStream fs = isf.CreateFile(fileName))
                {

                    XmlSerializer ser = new XmlSerializer(saved.GetType());
                    ser.Serialize(fs, saved);
                }
            }
        }
        catch (IsolatedStorageException ex)
        {
            MessageBox.Show(ex.Message);
        }


    }

    public static Object loadFromIS(String fileName, Type t)
    {
        Object result = null;
        try
        {
            using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
            {
                if (isf.FileExists(fileName))
                {

                    using (StreamReader sr = new StreamReader(isf.OpenFile(fileName, FileMode.Open)))
                    {
                        XmlSerializer ser = new XmlSerializer(t);
                        result = ser.Deserialize(sr);
                    }
                }
            }
        }
        catch (IsolatedStorageException ex)
        {
            MessageBox.Show(ex.Message);
        }
        catch (InvalidOperationException e)
        {
            MessageBox.Show(e.Message);
        }
        return result;
    }
}
}

这篇关于在 IsolatedStorage 中存储数组列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆