如何将对象类中的数据写入/读取到txt c#

如何将对象类中的数据写入/读取到txt c#,c#,list,serialization,datagridview,C#,List,Serialization,Datagridview,我有一个类需要保存到文件中。这个班看起来像这样 class GLogInfo { public int tmno; public int smno, seno; public int vmode; public int yr, mon, day, hr, min, sec; public string photo { get { return (tmno == -1) ? "No Photo" : Convert.ToString(tmno); } }

我有一个类需要保存到文件中。这个班看起来像这样

class GLogInfo
{
    public int tmno;
    public int smno, seno;
    public int vmode;
    public int yr, mon, day, hr, min, sec;

    public string photo { get { return (tmno == -1) ? "No Photo" : Convert.ToString(tmno); } }
    public int enroll { get { return seno; } }
    public int machine { get { return smno; } }

    public string verify_mode
    {
        get
        {
            string attend_status = "";
            switch ((vmode >> 8) & 0xFF)
            {
                case 0: attend_status = "_DutyOn"; break;
                case 1: attend_status = "_DutyOff"; break;

            }

            string antipass = "";
            switch ((vmode >> 16) & 0xFFFF)
            {
                case 1: antipass = "(AP_In)"; break;
                case 2: antipass = "(AP_Out)"; break;
            }

            int vm = vmode & 0xFF;
            string str = "--";
            switch (vm)
            {
                case 1: str = "Fp"; break;

                case 7: str = "FP+Card+Pwd"; break;

            }

            if ((1 <= vm && vm <= 7) ||
                (30 <= vm && vm <= 34) ||
                (51 <= vm && vm <= 53) ||
                (101 <= vm && vm <= 103) ||
                (151 <= vm && vm <= 153))
            {
                str = str + attend_status;
            }

            str += antipass;

            return str;
        }
    }

    public string logtime { get { return string.Format("{0:D4}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2}", yr, mon, day, hr, min, sec); } }
}
有了它,我可以毫无问题地将数据绑定到DataGridView。但是我还需要把所有的数据放到一个文件里。txt或任何格式。 我尝试使用序列化,但我不能,因为我不是C#方面的专家。 我需要关于如何将数据写入/读取到文件的帮助。 此外,我认为可能有一种方法可以将数据从DataGridView读取到文件,但我也不能这样做:)。我比较精简。

您可以使用它将类序列化为文件

如果您有一个
GLogInfo
object(myObj)的实例,代码如下所示:

File.WriteAllText(@"c:\temp\somefile.json", JsonConvert.SerializeObject(myObj));
这将序列化类中具有“get”访问器的所有公共属性

如果希望忽略某些属性,可以添加
[JsonIgnore]

将类序列化为文件

如果您有一个
GLogInfo
object(myObj)的实例,代码如下所示:

File.WriteAllText(@"c:\temp\somefile.json", JsonConvert.SerializeObject(myObj));
这将序列化类中具有“get”访问器的所有公共属性


如果希望忽略某些属性,可以添加
[JsonIgnore]

,非常感谢。我能够将数据获取到json文件中。我也尝试过文本,但它提供了一个txt格式的json格式(显然是必须的。只是弄糟了)。非常感谢。我能够将数据获取到json文件中。我也尝试过文本,但它提供了一个txt格式的json格式(显然是必须的,只是搞乱了它)。