它應該從堆棧中刪除所有的值。 這是我的代碼,但它以某種方式與我的while語句有問題。如何在C#中創建RemoveAll方法?
在一些測試情況下,它凸顯了while語句把我扔了一個未處理的異常「System.NullReferenceException」
public bool RemoveAll(T value)
{
if (Count == 0)
return false;
if (Count == 1)
{
if (mTop.Data.Equals(value))
{
mTop = mTop.Next;
return true;
}
}
else
{
OurListNode<T> pTmp = mTop;
while (pTmp.Next != null)
{
if (pTmp.Next.Data.Equals(value))
{
pTmp.Next = pTmp.Next.Next;
}
pTmp = pTmp.Next;
}
return true;
}
return false;
}
在一些測試情況下,它凸顯了while語句,並給我一個「System.NullReferenceException」 –