在c#中关闭app上的变量

时间:2016-06-08 14:18:35

标签: c# variables save

我试图保存一些字符串列表,这样如果我关闭程序,我就不会丢失所有信息。

我有这些变量:

list<string> StudentName = new list<string>;
list<string> Email = new list<string>;
list<string> StudentID = new list<string>;

我在用户提交完全填写的表单后,为每个列表添加一个新变量。如果有人要关闭应用程序,我希望保存每个列表中的所有变量。我过去曾使用应用程序设置存储数据,但我不知道有多少人会使用此应用程序。

2 个答案:

答案 0 :(得分:2)

一种可能性是聚合类型

中的列表
public class AppState
{
    public List<string> StudentName = new List<string>();
    public List<string> Email = new List<string>();
    public List<string> StudentID = new List<string>();
}

并使用Xml serialization and deserialization将数据存储在文件中。

答案 1 :(得分:0)

您可以将值存储在数据库中:

// I'd create a model to start with

public class Student
{
    public int StudentID {get; set;}
    public string StudentName {get; set;}
    public string Email {get; set;}
}

// Followed by a Controller to store the data:

public class StoreStudentOnAppClose()
{
    public void StoreStudents()
    {
       List<Student> studentList = new List<Student>();
       // Predefined method which you'll add to your class to grab each student from the database table.
       studentList = GetStudentList();
       foreach(var student in studentList)
        {
            var db = UmbracoContext.Application.DatabaseContext.Database;
            var insert = new Sql("INSERT INTO students VALUES('" + StudentID + "', '" + StudentName +"'. '" + Email +"' )");
            int res = db.Execute(insert);
        }
    }
}

这显然是在Umbraco应用程序的上下文中,但重点是相同的,您只需更改连接字符串。