static void Main(string[] args)
{
minlist<authorinfo> aif = new minlist<authorinfo>();
aif.Add(new authorinfo("The Count of Monte Cristo","Alexandre", "Dumas", 1844));
aif.Add(new authorinfo("Rendezvous with Rama", "Arthur", "Clark", 1972));
aif.Add(new authorinfo("The Three Musketeers", "Alexandre", "Dumas", 1844));
aif.Add(new authorinfo("2001: A Space Odyssey", "Arthur", "Clark", 1968));
4つのアイテム、正しいアイテムが追加されないのはなぜですか?
class minlist<T>
{
T[] storage = new T[3];
T[] storagereplace = new T[5];
T[] storagereplace2 = new T[10];
int spot = 0;
public void Add(T obj)
{
if (spot != 3)
{
storage[spot] = obj;
spot++;
if (spot == 3)
{
int spot2 = spot;
storage.CopyTo(storagereplace, 0);
storagereplace[spot2] = obj;
spot2++;
foreach (T k in storagereplace)
{
Console.WriteLine(k);
}
Console.WriteLine(spot2);
}
}
結果:
アレクサンドル、デュマ、モンテ・クリスト伯、1844
アーサー、クラーク、宇宙のランデヴー、1972
アレクサンドル、Dumas、Three Musketeers、1844
Alexandre、Dumas、Three Musketeers、1844
2001年を追加するのではなく、最後のものを繰り返すのはなぜですか?このため
スポット++の配置とメソッドの終了については確かですか?私はそれを行うときに何も表示されません。 – saturn
いいえ、私は私の答えを改訂しました。独自のListクラスを作成する必要がない場合は、リストを使用してください。 –
Botz3000