比较variables是否大于List / IEnumerable中的值

背景/上下文

我目前正在build立一个函数,将采取一个值,并将其与列表进行比较,以查找string值在哪一点更大。 我采取的值是一个date和string包含一个date的标题是一个图表的范围,基本上我想在Excel中find这个date适合的列。标题date都是每周date。 我试图得到我的逻辑,但似乎没有任何工作,所以想我会问在这里。

逻辑在代码后面

  1. 该程序创build一个IEnumerable来查找我们正在查找的date的logging单元格
  2. 该程序创build一个IEnumerable标题中的所有date。
  3. 该程序将获取该date,并将其与2.中的IEnumerable进行比较,以返回新date所在的列。

代码到2点

List<string> Sheet1Rows = new List<string>(); List<string> Sheet2Rows = new List<string>(); List<DateTime> ColumnDates = new List<DateTime>(); //List<int> NewRowsNumber = new List<int>(); for (int row = 9; row <= LastRowSheet1; row++) { Sheet1Rows.Add(ExcelWksht1.Cells[row, 1].Value); } for (int row = 9; row <= LastRowSheet2; row++) { Sheet2Rows.Add(ExcelWksht2.Cells[row, 1].Value); } for (int column = 16; column <= LastColumnSheet2; column++) { ColumnDates.Add(ExcelWksht2.Cells[5, column].Value); } IEnumerable<string> Names1 = Sheet1Rows; IEnumerable<string> Names2 = Sheet2Rows; IEnumerable<DateTime> Dates1 = ColumnDates; IEnumerable<string> NamesInBoth = Names1.Intersect(Names2); IEnumerable<string> NamesOnlyInTwo = Names2.Except(Names1); Debug.Print("NamesInBoth\n=========="); foreach (var n in NamesInBoth) { Debug.Print(n.ToString()); //Get Row Values int rowinsheet1 = (Sheet1Rows.FindIndex(x => String.Compare(x, n) == 0)) + 9; int rowinsheet2 = (Sheet2Rows.FindIndex(x => String.Compare(x, n) == 0)) + 9; //Get Date Values var Sheet1Date = ExcelWksht1.Cells[rowinsheet1, 9].Value.ToString(); var Sheet2Date = ExcelWksht2.Cells[rowinsheet2, 9].Value.ToString(); if (Sheet1Date != "No Planned Date" && Sheet2Date != "No Planned Date") { if (Sheet1Date != null && Sheet2Date != null) { if (Sheet1Date.ToString() != Sheet2Date.ToString()) { //THIS IS WHERE IM STRUGGLING } } else { ((Excel.Range)ExcelWksht2.Cells[rowinsheet2, 1]).EntireRow.Interior.Color = Microsoft.Office.Interop.Excel.XlRgbColor.rgbOrange; } } } 

问题

如代码所示,我需要找出一种方法来构造一个循环(?)来检查IEnumerable中的所有标题值的行date值,以给出date值开始7天的范围。