C# 简单问题 我零基础刚接触C# 求各位高手解答

亮工巧匠 2013-07-14 03:11:34
如果我在我程序里想实现,按一个按钮将我程序里边的Checklistbox中的选项(每个选项都是一个Car类,里边有数据的)都保存到本地文件中。
然后,每次打开这个程序的时候,先从本地文件中读取每个Car类实例的信息,上来就显示在我的Checklistbox中。
我编写的代码如下:
namespace ZAICUN
{
partial class Form1 : Form
{
public Car car1;
public Form2 fm2;
public Form1()
{
InitializeComponent();
fm2 = new Form2(this);
fm2.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
fm2.Visible = true;
}
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.CheckedItems.Contains(checkedListBox1.Items[i]))
{
Car carx = (Car)Cangku.al_Car[i];
MessageBox.Show(carx.name.type + carx.brand.type + carx.size.type);
}

}
}
private void button2_Click(object sender, EventArgs e)
{
for (int i = 0; i < checkedListBox1.Items.Count; i++)
{
if (checkedListBox1.CheckedItems.Contains(checkedListBox1.Items[i]))
{
Cangku.al_Car.RemoveAt(i);
}
}
showCar();
}
public void showCar()
{
this.checkedListBox1.Items.Clear();
for (int i = 0; i < Cangku.al_Car.Count; i++)
{
Car mycar = (Car)Cangku.al_Car[i];
this.checkedListBox1.Items.Add(mycar.name.type+ "的车");
}
}

private void button4_Click(object sender, EventArgs e)
{

}
}
}

namespace ZAICUN
{
partial class Form2 : Form
{
public Form1 fm1;

public Form2(Form1 fm1)
{
this.fm1 = fm1;
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
this.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length == 0 || textBox2.Text.Length == 0 || textBox3.Text.Length == 0)
return;
Name n1 = new Name(this.textBox1.Text);
Brand b1 = new Brand(this.textBox2.Text);
Size s1 = new Size(this.textBox3.Text);
Car car1 = new Car(n1, b1, s1);
Cangku.al_Car.Add(car1);
fm1.showCar();
this.textBox1.Clear();
this.textBox2.Clear();
this.textBox3.Clear();
this.Visible = false;
}
}
}

namespace ZAICUN
{
class Cangku
{
public static ArrayList al_Car = new ArrayList();
}
class Car
{
public Name name;
public Brand brand;
public Size size;
public Car(Name n1,Brand b1,Size s1)
{
name = n1;
brand = b1;
size = s1;
}
}
class Name
{
public string type;
public Name(string myname)
{
type = myname;
}
}
class Brand
{
public string type;
public Brand(string mybrand)
{
type = mybrand;
}
}
class Size
{
public string type { get; set; }
public Size(string mysize)
{
type = mysize;
}
}
}

我想在botton4里 添加代码 点击能将Checklistbox的里边的Car类的实例存入本地文件
等打开这个程序的时候 自动读取文件中的Car实例, 还是可以读取这些实例里的信息

新手,知道问题 很幼稚。 谢谢各位大神了 谢谢大家了!
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CqCoder 2013-07-15
  • 打赏
  • 举报
回复
个人建议还是不要使用序列化和反序列化 序列化和反序列化主要用于网络传输 保存实例状态··· 每次都要反序列化 这会影响性能·~~ 建议使用XML/ACCESS 保存到相关表 要用的使用直接读取表就好了·
qq913402557 2013-07-15
  • 打赏
  • 举报
回复
楼主可以考虑用下序列化和反序列化
亮工巧匠 2013-07-15
  • 打赏
  • 举报
回复
引用 2 楼 zxy397472251 的回复:
个人建议还是不要使用序列化和反序列化 序列化和反序列化主要用于网络传输 保存实例状态··· 每次都要反序列化 这会影响性能·~~ 建议使用XML/ACCESS 保存到相关表 要用的使用直接读取表就好了·
您好, 我是新手。 我现在只能 保存一个实例的三个字符串。 读取的时候 也是显示字符串,而不是一个个类的实例... 我还是不太明白... 您能稍微给个代码 说明下么? 就是保存实例,和程序读取实例的。。。 谢谢啦 大恩大德 跪谢!!!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧