反转显示的字符串顺序

我目前是一名初学者,正在c# winforms从事一个小项目。我不太明白如何切换笔记的顺序。


目前我有一个笔记类和一个Addnote按钮。该按钮的作用是从一个文本框中获取我的输入,并将其显示在另一个文本框中。


目前我已经尝试过.Reverse()


private void btnAddNote_Click(object sender, EventArgs e)

{                 

    Notes note = new Notes(txtNoteWriter.Text);           

    txtNoteReader.Text += note.Note + Environment.NewLine + DateTime.Now + Environment.NewLine + Environment.NewLine;

    txtNoteReader.Text.Reverse();

}

我的班级看起来像这样


class Notes

{

    public string Note { get; set; }


    public Notes(string note)

    {

        Note = note;           

    }


    public override string ToString()

    {

        return Note;

    }       

}

我的添加注释到txtNoteWriter只读的按钮txtNoteReader是


private void btnAddNote_Click(object sender, EventArgs e)

{                 

    Notes note = new Notes(txtNoteWriter.Text);           

    txtNoteReader.Text += note.Note + Environment.NewLine + DateTime.Now + Environment.NewLine + Environment.NewLine;

}

目前,我正在尝试让它根据提交时间从最新到最旧的顺序保存注释(目前顺序相反。)。


qq_笑_17
浏览 149回答 1
1回答

白猪掌柜的

有几种方法可以实现这一目标,以下是一个建议。由于您需要时间戳以及添加的字符串,因此可以将其作为 Notes 类的一部分。例如,修改notes类如下。class Notes{    public string Note { get; set; }    public DateTime TimeStamp { get; set; }    public Notes(string note)    {        Note = note;        TimeStamp = DateTime.Now;    }    public override string ToString()    {        return $"{Note}-{TimeStamp.ToString()}";    }}现在,您可以在 Main 类中定义一个集合,该集合将保存每个添加的注释。private List<Notes> _notesCollection = new List<Notes>();最后,btnAddNote 单击事件如下所示private List<Notes> _notesCollection = new List<Notes>();private void btnAddNote_Click(object sender, EventArgs e){    var note = new Notes(txtNoteWriter.Text);    _notesCollection.Add(note);    txtNoteReader.Text = string.Join(Environment.NewLine, _notesCollection.OrderByDescending(x => x.TimeStamp).Select(x => x.ToString()));}在按钮 Click 事件中,您将向集合中添加新注释。然后,您使用 LINQ 根据 TimeStamp 属性对集合进行排序。为此,您使用OrderByDescending方法。Select方法使您能够从集合中选择需要显示的内容。最后,string.Join方法允许您连接不同的字符串以形成最终结果。
打开App,查看更多内容
随时随地看视频慕课网APP