我有一个如下的函数。
public StartEnd ConvertStartEnd(StartEnd pse, Item pi)
{
if (DaysBefore == pi.DaysBefore && DaysAfter == pi.DaysAfter)
{
return pse;
}
StartEnd ise = new StartEnd();
if (pse.Start <= DaysBefore)
{
int var1 = DaysBefore - pse.Start;
int var2 = pi.DaysBefore - var1;
if (var2 < 0)
{
ise.Start = -1;
}
else
{
ise.Start = var2;
}
}
else if (pse.Start > DaysBefore)
{
int var1 = pse.Start - DaysBefore;
if (var1 > DaysAfter)
{
ise.Start = -1;
}
else
{
ise.Start = pi.DaysBefore + var1;
}
}
if (pse.End <= DaysBefore)
{
int var1 = DaysBefore - pse.End;
int var2 = pi.DaysBefore - var1;
if (var2 < 0)
{
ise.End = -1;
}
else
{
ise.End = var2;
}
}
else if (pse.End > DaysBefore)
{
int var1 = pse.End - DaysBefore;
if (var1 > DaysAfter)
{
ise.End = -1;
}
else
{
ise.End = pi.DaysBefore + var1;
}
}
return ise;
}这实际上是在函数中创建一个对象并返回它。
当我说var insSe = ConvertStartEnd(portSe, entry.Value);时,我得不到返回值。我已经调试了该函数,在return语句所在的行上存在一个对象。但是当我返回到调用函数时,什么也没有。哪里出了问题?
发布于 2011-08-07 15:14:17
尝试使用即时窗口打印变量(只需执行.ToString()操作)。这可能只是VS工具提示的一个问题。
正如Jon Skeet在评论中所说的-你总是会得到一些东西,要么是一个值,要么是一个null。变量不可能在没有任何值或null的未定义变量中。
https://stackoverflow.com/questions/6971289
复制相似问题