gpt4 book ai didi

c# - 如何在本地保存整个字典并在需要时加载它?

转载 作者:行者123 更新时间:2023-11-30 16:56:51 27 4
gpt4 key购买 nike

我有一个 C# 程序,它从网页中检索数据,然后将内容组织到字典中。到目前为止,程序每次运行时都会从网络上获取数据,因为没有其他数据源。问题是,如果我处于离线状态,我将无法检索数据,因此我没有可用的数据。我可以将整个字典保存在本地,以便即使我处于离线状态也可以加载它并运行我的分析吗?

要保存的字典是 myData:

Dictionary<string, itemdata> myData = new Dictionary<string, itemdata>();

其中键是一个字符串,表示一个项目的名称,itemdata 依次定义为:

public class itemdata
{
// Fields
public double itemWeight;
public double itemSize;
public double itemPrice;

// class constructor
public itemdata(double myItemWeight, double myItemSize, double myItemPrice)
{
itemWeight= myItemWeight;
itemSize= myItemSize;
itemPrice= myItemPrice;
}

// Public properties (read only access to these fields)
public double myItemWeight
{
get { return itemWeight; }
}

public double myItemSize
{
get { return itemSize; }
}

public double myItemPrice
{
get { return itemPrice; }
}
}

所以在我的主类中,我检索了一些项目的一些数据,然后填充:

itemdata myItemMap = new itemdata (itemWeight, itemSize, itemPrice)

并将所有内容插入字典:

myData.Add(itemName, myItemMap);

一旦所有数据都被检索并组织到 myData 字典中,我希望将其保存在本地。

感谢您到目前为止给我的所有建议。保存到 XML 似乎是一个不错的选择,但我希望有一些清楚的例子来说明如何处理我的特定字典,因为它不仅仅是“一个键和一个值”,而是稍微复杂一点的“具有多个值/字段的一个键”。

最佳答案

您可以做的另一件事是使用内置的序列化程序将其序列化为 XML。您要序列化的类型必须实现 ISerializable。这是唯一的要求。好消息是 .NET 将为您处理其他所有事情。

关于c# - 如何在本地保存整个字典并在需要时加载它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27441077/

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