Jump to content
Unity Insider Forum

C#: Array immer gleichlang (trotzdem Einträge hinzufügen)


J3nsis

Recommended Posts

Hallo,

Gibt es ne Möglichkeit das ein Array immer eine bestimmte Länge hat, also es werden immer neue Einträge hinzugefügt und die die am längsten drin sind werden überschrieben und zurückgegeben (denn Ich brauche diese Werte von den Einträgen die in der Liste Überschrieben werden)?

 

Mfg J3nsis

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn dein Anwendungsfeld das nicht verhindert, würde man dafür eine Queue nehmen. Man kann sich das aber auch selber bauen.

class FixedQueue<T>
{
  private T[] arr;
  private int index = 0;
  public int count { private set; get }
  
  public FixedQueue(int capacity)
  {
    arr = new T[capacity];
  }
  
  public void Insert(T t)
  {
    arr[index] = t;
    index = (index + 1) % arr.length;
    if(count < arr.length)
    {
      count++;
    }
  }
  
  public T GetAtPosition(int i)
  {
    if(i < 0 || i => arr.length)
    {
      return new IndexOutOfBoundsException();
    }
    return arr[(index + i) % arr.length];
  }
}

Nur so runtergeschrieben, nicht getestet.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...