1 回答
TA贡献1834条经验 获得超8个赞
忽略此堆栈类的所有问题,您的重构显然会破坏它。正如评论所暗示的那样,您缺少的关键信息实际上是++and--运算符所做的,这似乎使您相信该position字段是多余的。
++运算符(C#参考)
增量运算符(++)将其操作数加1。增量运算符可以出现在其操作数之前或之后:++ variable和variable ++。
评论
第一种形式是前缀递增操作。运算的结果是将操作数递增后的值。
第二种形式是后缀递增操作。运算的结果是操作数在增加之前的值
public class Stack
{
int position;
object[] data = new object[10]; // Why 10 nor 1?
public void Push (object obj) { data[position++] = obj; }
public object Pop() { return data[--position]; }
}
例如
当您调用Push它时,它将值从data数组中移出,position然后递增position
当您调用Pop它减量position时,将值从data数组中取出position
增量页面上还有一个很好的小例子,向您展示了它是如何工作的
class MainClass
{
static void Main()
{
double x;
x = 1.5;
Console.WriteLine(++x);
x = 1.5;
Console.WriteLine(x++);
Console.WriteLine(x);
}
}
输出
2.5
1.5
2.5
*/
- 1 回答
- 0 关注
- 134 浏览
添加回答
举报