正在练习泛型.考虑下面的堆栈方法.除了在泛型方法中抛出异常之外,执行错误检查的最佳方法是什么.如果我想在此方法中返回一些结果,该怎么办?
public T pop()
{
if (top >= 0)
return arr[top--];
return -1 or null;
}
Run Code Online (Sandbox Code Playgroud)
Tri*_*ian 15
您唯一能做的就是返回default(T),这是类型的默认值T(null对于引用类型,对于整数类型为零,对于其他值类型为零对象字段对象).但是,这通常是一个坏主意,因为您无法区分0弹出的弹出或0表示错误的弹出.在这种情况下,例外通常是最好的方法,但您也可以按如下方式更改方法:
public bool TryPop(out T value)
{
if (top >= 0)
{
value = arr[top--];
return true;
}
value = default(T);
return false;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16538 次 |
| 最近记录: |