C# 比较列表中的第一项和第二项

C# 比较列表中的第一项和第二项,c#,winforms,list,C#,Winforms,List,假设我正在用数字填充一个列表。每次我按下一个按钮,文本框get中的一个数字就会添加到列表中 现在,我的问题是:如何比较最新添加的项目和第二个最新添加的项目 提前感谢?列表有一个索引器属性,为什么不使用它呢 var last = list.Count > 0 ? list[list.Count - 1] : null; var secondLast = list.Count > 1 ? list[list.Count - 2] : null; 根据您对问题的评论,如果您在将项目添加到

假设我正在用数字填充一个列表。每次我按下一个按钮,文本框get中的一个数字就会添加到列表中

现在,我的问题是:如何比较最新添加的项目和第二个最新添加的项目

提前感谢?

列表有一个索引器属性,为什么不使用它呢

var last = list.Count > 0 ? list[list.Count - 1] : null;
var secondLast = list.Count > 1 ? list[list.Count - 2] : null;

根据您对问题的评论,如果您在将项目添加到列表之前进行检查,您的任务可以简化:

 private void Button_Click(object sender, EventArgs e)
 {
      var newItem = // get new number

      if (list.Any()) // or list.Count > 0
      {
          var previousItem = list.Last(); // or list[list.Count - 1]
          // compare newItem with previous
      }

      list.Add(newItem);
 };

@SonerGönül这有什么区别?问题很简单,即使没有代码。当然,如果您要向列表中添加项目,添加的最新和第二个最新项目将是列表中的最后和第二个项目,而不是第一个和第二个项目……我在“()”中写道,不是吗?;)您是否考虑过使用替代方案?@FicVic I添加了解决方案,这使您的代码更加简单