gpt4 book ai didi

c# - 保存通用列表

转载 作者:行者123 更新时间:2023-12-03 03:05:26 26 4
gpt4 key购买 nike

有没有办法将列表保存到磁盘上?我尝试了数据契约序列化器,但它总是生成一个空列表。

    public static List<T> Load<T>() where T : class,new()
{
var serializer = new DataContractSerializer(typeof(List<T>));

string path = HttpContext.Current.Server.MapPath("~/App_Data/" + typeof(T).ToString() + ".xml");
if (!System.IO.File.Exists(path))
{
return new List<T>();
}
else
{
using (var s = new System.IO.FileStream(path, System.IO.FileMode.Open))
{
return serializer.ReadObject(s) as List<T>;
}
}
}

public static void Save<T>(List<T> data) where T : class,new()
{
var serializer = new DataContractSerializer(typeof(List<T>));

Enumerate<T>(data);

string path = HttpContext.Current.Server.MapPath("~/App_Data/" + typeof(T).ToString() + ".xml");
using (var s = new System.IO.FileStream(path, System.IO.FileMode.Create))
{
serializer.WriteObject(s, data);
}
}

最佳答案

您可能想使用 JavaScriptSerializer

var json = new JavaScriptSerializer().Serialize(thing);

JSON 列表是通用的。

更新:TimS Json.NET 声称的 Ass 是更好的序列化器,因此如果可以选择添加第 3 方库 here is an article on how to do it.

关于c# - 保存通用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24247324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com