gpt4 book ai didi

c# - 如何在 C# 中将集合写入文件?

转载 作者:行者123 更新时间:2023-11-30 17:52:06 25 4
gpt4 key购买 nike

我目前有一个 winForms 程序,而且我对编程还很陌生。现在我有一个 Item 类

public class Item
{
public string @Url { get; set; }
public string Name { get; set; }
public double Price { get; set; }
public int Index { get; set; }

public Item(string @url, string name, double price)
{
this.Url = url;
this.Name = name;
this.Price = price;
}

public override string ToString()
{
return this.Name;
}
}

并在整个程序中将其存储在字典中

Dictionary<int, Item>

我如何创建一个新的文件类型 (.buf) 并保存字典以便打开它?

最佳答案

如果要将字典序列化为文件,建议引用here , herehere .

更新

请务必查看所有链接,因为有不止一种方法可以做到这一点,但这是一种方法 - 通过关注 this信息并添加

的公共(public)构造函数
public Item() { }

然后我可以使用 XamlServices 执行以下操作(您需要在项目中添加对 System.Xaml 的引用):

class Program
{
static void Main()
{
Item newItem = new Item( "http://foo", "test1", 1.0 );

var values = new Dictionary<int,Item>();
values.Add(1,newItem);
using( StreamWriter writer = File.CreateText( "serialized.buf" ) )
{
XamlServices.Save( writer, values );
}

using( StreamReader tr = new StreamReader( "serialized.buf" ) )
{
Dictionary<int, Item> result = (Dictionary<int, Item>)XamlServices.Load( tr );
//do something with dictionary here
Item retrievedItem = result[1];
}
}
}

有关数据库的信息,请参阅 herehere .如果您想开始使用数据库和 WinForms,我建议 this .

要在平面文件和数据库之间做出决定,请参阅答案 herehere .对所有链接感到抱歉,但信息就在那里(我知道刚开始时很难找到正确的搜索词)。根据我自己的经验,您是否使用数据库取决于:-

  • 您想执行的操作(查询、创建、删除、更新、删除)的复杂性。
  • 您要存储的数据的结构。
  • 应用程序将运行的位置。例如,如果它将是路由器上的嵌入式应用程序(我认为您的 winforms 应用程序不会),那么文件可能是您唯一的选择。
  • 与上一点类似,您希望应用程序的轻量级和独立性。
  • 要存储的数据量。

关于c# - 如何在 C# 中将集合写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689962/

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