Mr.*_*bot 0 c# asp.net datetime out-of-memory
我正在尝试使用过去30个日期填充下拉列表,我收到错误:
mscorlib.dll中出现"System.OutOfMemoryException"类型的异常,但未在用户代码中处理
这是我填写下拉列表的功能:
public void FillDates(int NumDaysBack)
{
for (DateTime d = DateTime.Now.AddDays(-NumDaysBack); d < DateTime.Now; d.AddDays(1))
{
ddMiscDateList.Items.Add(d.ToShortDateString());
}
ddMiscDateList.Items.Add("Other");
}
Run Code Online (Sandbox Code Playgroud)
我在加载时调用此函数并使用30表示NumDaysBack.如何更有效地写这个以便不收到此错误?
DateTime.AddDays()返回DateTime的新实例.它不会改变d变量.因此,你有无限的循环.你可以解决它
public void FillDates(int NumDaysBack)
{
for (DateTime d = DateTime.Now.AddDays(-NumDaysBack); d < DateTime.Now; d = d.AddDays(1))
{
ddMiscDateList.Items.Add(d.ToShortDateString());
}
ddMiscDateList.Items.Add("Other");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |