【发布时间】:2010-08-12 10:01:49
【问题描述】:
我有一个 for 循环来检查是否选中了某些复选框
foreach (CheckBox chk in this.Controls.OfType<CheckBox>())
{
if (chk.Checked)
{
//Some code here
}
}
有 12 个复选框,每个月 1 个。
我想要的是计算变量 StartDate 和上个月之间的天数。很难解释对不起。
例如,StartDate = 1st September 2010,选中的框是四月、十月和十二月。
结果应该是 01/09/2010 和 01/04/2011 之间的天数。
如果 StartDate = 2010 年 11 月 1 日,则结果将是 01/11/2010 和 01/10/2011 之间的日期。
我觉得我在挣扎,因为循环从一月到十二月。如果它是从 startdate 月份开始的,我会没事的。
如果我需要解释更多,请提出一些问题。
【问题讨论】:
-
当您选择超过 2 个月时,我不明白您在 2 个日期之间是如何做到的??
-
如果我理解正确:从开始日期开始,我会记下日历,往前看几个月——可能到下一年——当我到了一个名字被打勾的月份时,我就会停下来在复选框列表中。然后我计算开始日期和那个月之间的天数。问题:如果这是真的,我理解你的第一个例子,但不是第二个。我希望第二个示例计算从 2010 年 11 月 1 日到 2011 年 4 月 1 日的天数(因为也检查了 4 月)。请澄清,因为也许我没有完全理解算法。
-
对不起,我无法解释清楚。在第二个示例中,我应该从 startdate 到 october,因为 oct 在 april 之后但在 nov(startdate) 之前。希望这更清楚。
-
@w69rdy - 最近一个月我唯一感兴趣的月份。其他的在一些不同的代码中使用,这是有效的。
-
................(评论已删除)