我正在制作一个Windows窗体应用程序。它是一个字生成器,可以从默认列表生成一个随机字,也可以通过用户输入进行修改。我正在寻找一种方法来使它成为一个按钮将保存列表,以便下次用户运行应用程序时,它们将具有之前相同的列表。 txtaddverb是用户输入的文本框。缺少的按钮仅对名词,形容词和副词列表执行相同的操作。
以下是我的代码:
public class Lists
{
public static List<string> verbList = new List<string>() {"eat", "scramble", "slap", "stimulate"};
public static Random randomverb = new Random();
}
public string pickRandomVerb()
{
return Lists.verbList[Lists.randomverb.Next(0, Lists.verbList.Count)];
}
public void button1_Click(object sender, EventArgs e)
{
if (Lists.verbList.Count > 0) verb.Text = pickRandomVerb();
}
public void button5_Click(object sender, EventArgs e)
{
Lists.verbList.Add(txtaddverb.Text);
txtaddverb.Clear();
}
public void button9_Click(object sender, EventArgs e)
{
Lists.verbList.Clear();
verb.Clear();
txtaddverb.Clear();
}
//below is the button that I want to save the list
public static void button13_Click(object sender, EventArgs e)
{
//need help here
}
答案 0 :(得分:0)
取决于。你想在哪里保存输入?在文本文件中?在数据库中?
保存到文本文件的示例
// create a writer and open the file
TextWriter tw = new StreamWriter("date.txt");
// write a line of text to the file
tw.WriteLine(DateTime.Now);
// close the stream
tw.Close();
答案 1 :(得分:0)
将List<string>
写入文件:
File.WriteAllLines(path, verbList);
如果该文件不存在,则会创建该文件,否则会覆盖该文件。
从文件中读取它:
List<string> verbList = File.ReadAllLines(path).ToList();
答案 2 :(得分:0)
如果这个项目更适合个人使用,那么您可以将列表写入文本文件,并在程序加载时将其读回。可以为此实现streamreader和streamwriter类。有关示例代码,请参阅http://msdn.microsoft.com/en-us/library/aa903247%28v=vs.71%29.aspx。
如果有多人将使用您的应用,我会说将列表保存到数据库将是一个更好的解决方案。这是一个很好的起点http://www.dreamincode.net/forums/topic/31314-sql-basics-in-c%23/#/如果您没有SQL服务器,可以针对MS Access之类的内容调整教程。 (您将使用System.Data.OleDb而不是System.Data.SqlClient)
有很多文章都在阅读和写信息到文本文件或数据库。做一点搜索,如果我发布的两个链接没有你想要的东西,你应该能找到适合你需要的东西。