1 回答

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
忽略此堆棧類的所有問題,您的重構(gòu)顯然會破壞它。正如評論所暗示的那樣,您缺少的關(guān)鍵信息實(shí)際上是++and--運(yùn)算符所做的,這似乎使您相信該position字段是多余的。
++運(yùn)算符(C#參考)
增量運(yùn)算符(++)將其操作數(shù)加1。增量運(yùn)算符可以出現(xiàn)在其操作數(shù)之前或之后:++ variable和variable ++。
評論
第一種形式是前綴遞增操作。運(yùn)算的結(jié)果是將操作數(shù)遞增后的值。
第二種形式是后綴遞增操作。運(yùn)算的結(jié)果是操作數(shù)在增加之前的值
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]; }
}
例如
當(dāng)您調(diào)用Push它時(shí),它將值從data數(shù)組中移出,position然后遞增position
當(dāng)您調(diào)用Pop它減量position時(shí),將值從data數(shù)組中取出position
增量頁面上還有一個(gè)很好的小例子,向您展示了它是如何工作的
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 關(guān)注
- 150 瀏覽
添加回答
舉報(bào)