为了账号安全,请及时绑定邮箱和手机立即绑定

修复 C# 中的“System.Collections.Generic.List`1”

修复 C# 中的“System.Collections.Generic.List`1”

C#
精慕HU 2023-07-22 17:05:47
我正在尝试对文本文档中保存的日期进行排序,我已经使用列表完成了此操作。当我尝试将详细信息保存回文本文档时,在文档中我看到保存的所有内容是System.Collections.Generic.List`1[Event_Manager.Form3+MyClass]下面的代码是用一个按钮执行的,据说可以对日期进行排序,但我什至看不到这段代码是否真的对日期进行了排序,因为我不断得到System.Collections.Generic.List`1[Event_Manager.Form3+MyClass]保存而不是原始数据。我尝试使用 .ToString() 来防止这种情况发生,但它仍然显示保存到文档中的保存输出。            // Read the file and display it line by line.            StreamReader file = new StreamReader("Events.txt");            List<MyClass> myClassList = new List<MyClass>();            while ((line = file.ReadLine()) != null)            {                string[] split = line.Split(',');                MyClass myclass = new MyClass();                myclass.date = DateTime.Parse(split[2]);                myClassList.Add(myclass);            }            file.Close();            // Sort the list by date            List<MyClass> myClassListSorted = myClassList.OrderByDescending(x => x.date).ToList();            using (StreamWriter sr = new StreamWriter(@"Events.txt"))            {                foreach (var item in myClassList)                {                    sr.WriteLine(myClassListSorted.ToString());                }                sr.Close();            }我应该能够看到我最初保存在文本文档中的实际数据,但是带有排序日期,而是它只是System.Collections.Generic.List`1[Event_Manager.Form3+MyClass]
查看完整描述

1 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您正在循环访问未排序的列表,然后尝试写入排序的列表对象(而不是排序列表内的项目)。接近尾声时你应该这样做:


foreach (var item in myClassListSorted)

{

     sr.WriteLine(item.date.ToString());

}

根据需要设置日期属性的格式。或者您可以将原始行保存在每个 MyClass 中,然后在排序后将该行写入文件。


while ((line = file.ReadLine()) != null)

{

            string[] split = line.Split(',');

            MyClass myclass = new MyClass();

            myclass.date = DateTime.Parse(split[2]);

            MyClass.originalLine = line; // <---------

            myClassList.Add(myclass);

}

然后在循环中:


     sr.WriteLine(item.originalLine);

这样,文本文件中的数据是相同的,但只是按排序顺序排列。


查看完整回答
反对 回复 2023-07-22
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信