私は自分のスタッククラスを設計する必要があるオンラインC#コースでコーディング演習を受けました。 このコードで遭遇し続ける問題は、何らかの理由でSystem.TypeInitializationExceptionを与え続けることです。私は修飾子を変更しようとしましたが、何も働いていません。どんな解決策ですか?ここ は、次のコードです:私は私のスタッククラスを使用するたびにSystem.TypeInitializationExceptionを取得することを止める方法
LastElement
を初期化しようと
public class Stack
{
public static List<object> StackStorage = new List<object>();
public static object LastElement = StackStorage[StackStorage.Count - 1];
public static object FirstElement = StackStorage[0];
public void Push(object obj)
{
if (StackStorage.Count - 1 >= 8)
{
StackStorage.Remove(LastElement);
StackStorage.Insert(0, obj);
}
else
{
StackStorage.Add(obj);
}
//Add Logic in here to check whether or not the List count
//Is Longer than 8. Remember that .Count gives you a value NOT
//Zero based. If you want the index of a value you would have
//To do ExampleList.Count - 1.
}
public object Pop()
{
StackStorage.Remove(LastElement);
return LastElement;
}
public void Clear()
{
StackStorage.Clear();
}
public int PrintCount()
{
return StackStorage.Count();
}
}
And the code I have in the main method:
Stack MyStack = new Stack();
MyStack.Push(1);
MyStack.Push(2);
MyStack.Push(3);
Console.WriteLine(MyStack.PrintCount());
Console.ReadKey();
ポスト全体の例外。また、**例外をすべて**読んでください。それは何が間違っているのかを、「それはおそらくそれが修飾語です」よりも良いアイデアにします。 – Blorgbeard
あなたの4番目のコード行を見てください。 'StackStorage.Count - 1'の価値はどうなると思いますか?それは配列の長さに対して有効な値ですか? – Blorgbeard