作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前有一个 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 , here和 here .
更新
请务必查看所有链接,因为有不止一种方法可以做到这一点,但这是一种方法 - 通过关注 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];
}
}
}
有关数据库的信息,请参阅 here和 here .如果您想开始使用数据库和 WinForms,我建议 this .
要在平面文件和数据库之间做出决定,请参阅答案 here和 here .对所有链接感到抱歉,但信息就在那里(我知道刚开始时很难找到正确的搜索词)。根据我自己的经验,您是否使用数据库取决于:-
关于c# - 如何在 C# 中将集合写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689962/
我是一名优秀的程序员,十分优秀!