War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ArrayList.Insert-Methode

Fügt am angegebenen Index ein Element in die ArrayList ein.

Namespace:  System.Collections
Assembly:  mscorlib (in mscorlib.dll)

public virtual void Insert(
	int index,
	Object value
)

Parameter

index
Typ: System.Int32
Der nullbasierte Index, an dem value eingefügt werden soll.
value
Typ: System.Object
Die einzufügende Object. Der Wert kann null sein.

Implementiert

IList.Insert(Int32, Object)

AusnahmeBedingung
ArgumentOutOfRangeException

index ist kleiner als 0.

- oder -

index ist größer als Count.

NotSupportedException

ArrayList ist schreibgeschützt.

- oder -

ArrayList hat eine feste Größe.

ArrayList akzeptiert null als gültigen Wert und lässt doppelte Elemente zu.

Wenn der Wert von Count bereits gleich Capacity ist, wird die Kapazität der ArrayList durch automatisches Neureservieren des internen Arrays erhöht, und die vorhandenen Elemente werden in das neue Array kopiert, bevor das neue Element hinzugefügt wird.

Wenn index gleich Count ist, wird das value am Ende der ArrayList hinzugefügt.

In Auflistungen mit zusammenhängenden Elementen, z. B. Listen, werden die Elemente hinter der Einfügemarke nach unten verschoben, um das neue Element aufzunehmen. Wenn die Auflistung indiziert ist, werden auch die Indizes der verschobenen Elemente aktualisiert. Dies gilt nicht für Auflistungen, in denen die Elemente konzeptionell in Buckets gruppiert sind, z. B. Hashtabellen.

Diese Methode ist ein O(n)-Vorgang, wobei nCount ist.

Im folgenden Codebeispiel wird veranschaulicht, wie Elemente in die ArrayList eingefügt werden.


 using System;
 using System.Collections;
 public class SamplesArrayList  {

    public static void Main()  {

       // Creates and initializes a new ArrayList using Insert instead of Add.
       ArrayList myAL = new ArrayList();
       myAL.Insert( 0, "The" );
       myAL.Insert( 1, "fox" );
       myAL.Insert( 2, "jumps" );
       myAL.Insert( 3, "over" );
       myAL.Insert( 4, "the" );
       myAL.Insert( 5, "dog" );

       // Creates and initializes a new Queue.
       Queue myQueue = new Queue();
       myQueue.Enqueue( "quick" );
       myQueue.Enqueue( "brown" );

       // Displays the ArrayList and the Queue.
       Console.WriteLine( "The ArrayList initially contains the following:" );
       PrintValues( myAL );
       Console.WriteLine( "The Queue initially contains the following:" );
       PrintValues( myQueue );

       // Copies the Queue elements to the ArrayList at index 1.
       myAL.InsertRange( 1, myQueue );

       // Displays the ArrayList.
       Console.WriteLine( "After adding the Queue, the ArrayList now contains:" );
       PrintValues( myAL );

       // Search for "dog" and add "lazy" before it.
       myAL.Insert( myAL.IndexOf( "dog" ), "lazy" );

       // Displays the ArrayList.
       Console.WriteLine( "After adding \"lazy\", the ArrayList now contains:" );
       PrintValues( myAL );

       // Add "!!!" at the end.
       myAL.Insert( myAL.Count, "!!!" );

       // Displays the ArrayList.
       Console.WriteLine( "After adding \"!!!\", the ArrayList now contains:" );
       PrintValues( myAL );

       // Inserting an element beyond Count throws an exception.
       try  {
          myAL.Insert( myAL.Count+1, "anystring" );
       } catch ( Exception myException )  {
          Console.WriteLine("Exception: " + myException.ToString());
       }
    }

    public static void PrintValues( IEnumerable myList )  {
       foreach ( Object obj in myList )
          Console.Write( "   {0}", obj );
       Console.WriteLine();
    }

 }
 /* 
 This code produces the following output.

 The ArrayList initially contains the following:
    The   fox   jumps   over   the   dog
 The Queue initially contains the following:
    quick   brown
 After adding the Queue, the ArrayList now contains:
    The   quick   brown   fox   jumps   over   the   dog
 After adding "lazy", the ArrayList now contains:
    The   quick   brown   fox   jumps   over   the   lazy   dog
 After adding "!!!", the ArrayList now contains:
    The   quick   brown   fox   jumps   over   the   lazy   dog   !!!
 Exception: System.ArgumentOutOfRangeException: Insertion index was out of range.  Must be non-negative and less than or equal to size.
 Parameter name: index
    at System.Collections.ArrayList.Insert(Int32 index, Object value)
    at SamplesArrayList.Main()
 */



.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft