我在While循环中运行一些代码:如何正确编写此功能?它给我的内存不足每次
while (Time <= EndPeriod)
{
... code ...
Tine.AddTime(Time);
}
我遇到的问题就是Time.AddTime(时间)执行它创建内存泄漏。 AddTime函数检查类属性,并通过基于交换器中DateFormat变量的正确方法(例如AddDays,AddMonths等)添加时间。如果我把开关放到循环中一切都很好,但是如果我尝试引用这个函数,它会发生堆栈溢出。
我录入时间函数如下所示:
protected DateTime AddTime(DateTime Time)
{
DateTime myTime = Time;
switch (DatePart) {
case "yy":
myTime.AddYears(1);
break;
case "qq":
myTime.AddDays(1);
break;
case "mm":
myTime.AddMonths(1);
break;
case "dd":
myTime.AddDays(1);
break;
case "hh":
myTime.AddHours(1);
break;
case "ss":
myTime.AddSeconds(1);
break;
default:
myTime.AddMinutes(1);
break;
}
return myTime;
}
什么可能我是做错了什么?
感谢
你真的有两个不同的属性/领域'Tine'和'Time'? ('Tine.AddTime(Time);') – sll
内存不足,呃?你在哪里给“EndPeriod”价值?另外,什么是'DatePart'?似乎我们在这里没有全貌。为什么你永远不会回到'myTime'? –
内存不足或堆栈溢出?他们是两回事。 –