关于泛型的返回值

horicon 2010-04-05 08:13:18
public T Pop()
{
if (count > 0)
{
return items[--count];
}
else
{
Console.WriteLine("栈已空!");
//return
}
}

如代码所示,一个泛型的出栈函数,当越界时,想返回假,该怎么写?
...全文
84 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-04-05
  • 打赏
  • 举报
回复
public T Pop()
{
T tmp = default(T);
//判断表是否为空
if (top == -1)
{
Console.WriteLine("栈为空");
return tmp;
}
tmp = data[top--];

return tmp;

}
horicon 2010-04-05
  • 打赏
  • 举报
回复
return null;这句会报错
无法将 NULL 转换为类型参数“T”,原因是它可能是一个值类型。请考虑改用“default(T)”。
我用了default(T)就可以了,还是谢谢你
Justin-Liu 2010-04-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caozhy 的回复:]
public T Pop(out bool state)
{
if (count > 0)
{
state = true;
return items[--count];
}
else
{
state = false;
Console.WriteLine("栈已空!");
return null;
}
}
[/Quote]
v
threenewbee 2010-04-05
  • 打赏
  • 举报
回复
public T Pop(out bool state)
{
if (count > 0)
{
state = true;
return items[--count];
}
else
{
state = false;
Console.WriteLine("栈已空!");
return null;
}
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧