Auf Englisch lesen

Teilen über


ArrayList.FixedSize Methode

Definition

Gibt einen Listenwrapper mit fester Größe zurück, der das Ändern, jedoch nicht das Hinzufügen oder Entfernen von Elementen erlaubt.

Überlädt

FixedSize(ArrayList)

Gibt einen ArrayList-Wrapper mit fester Größe zurück.

FixedSize(IList)

Gibt einen IList-Wrapper mit fester Größe zurück.

FixedSize(ArrayList)

Quelle:
ArrayList.cs
Quelle:
ArrayList.cs
Quelle:
ArrayList.cs

Gibt einen ArrayList-Wrapper mit fester Größe zurück.

C#
public static System.Collections.ArrayList FixedSize (System.Collections.ArrayList list);

Parameter

list
ArrayList

Die zu umschließende ArrayList.

Gibt zurück

Ein ArrayList-Wrapper mit fester Größe.

Ausnahmen

list ist null.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie einen Wrapper mit fester Größe um einen ArrayListerstellen.

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

   public static void Main()  {

      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add( "The" );
      myAL.Add( "quick" );
      myAL.Add( "brown" );
      myAL.Add( "fox" );
      myAL.Add( "jumps" );
      myAL.Add( "over" );
      myAL.Add( "the" );
      myAL.Add( "lazy" );
      myAL.Add( "dog" );

      // Create a fixed-size wrapper around the ArrayList.
      ArrayList myFixedSizeAL = ArrayList.FixedSize( myAL );

      // Display whether the ArrayLists have a fixed size or not.
      Console.WriteLine( "myAL {0}.", myAL.IsFixedSize ? "has a fixed size" : "does not have a fixed size" );
      Console.WriteLine( "myFixedSizeAL {0}.", myFixedSizeAL.IsFixedSize ? "has a fixed size" : "does not have a fixed size" );
      Console.WriteLine();

      // Display both ArrayLists.
      Console.WriteLine( "Initially," );
      Console.Write( "Standard  :" );
      PrintValues( myAL, ' ' );
      Console.Write( "Fixed size:" );
      PrintValues( myFixedSizeAL, ' ' );

      // Sort is allowed in the fixed-size ArrayList.
      myFixedSizeAL.Sort();

      // Display both ArrayLists.
      Console.WriteLine( "After Sort," );
      Console.Write( "Standard  :" );
      PrintValues( myAL, ' ' );
      Console.Write( "Fixed size:" );
      PrintValues( myFixedSizeAL, ' ' );

      // Reverse is allowed in the fixed-size ArrayList.
      myFixedSizeAL.Reverse();

      // Display both ArrayLists.
      Console.WriteLine( "After Reverse," );
      Console.Write( "Standard  :" );
      PrintValues( myAL, ' ' );
      Console.Write( "Fixed size:" );
      PrintValues( myFixedSizeAL, ' ' );

      // Add an element to the standard ArrayList.
      myAL.Add( "AddMe" );

      // Display both ArrayLists.
      Console.WriteLine( "After adding to the standard ArrayList," );
      Console.Write( "Standard  :" );
      PrintValues( myAL, ' ' );
      Console.Write( "Fixed size:" );
      PrintValues( myFixedSizeAL, ' ' );
      Console.WriteLine();

      // Adding or inserting elements to the fixed-size ArrayList throws an exception.
      try  {
         myFixedSizeAL.Add( "AddMe2" );
      } catch ( Exception myException )  {
         Console.WriteLine("Exception: " + myException.ToString());
      }
      try  {
         myFixedSizeAL.Insert( 3, "InsertMe" );
      } catch ( Exception myException )  {
         Console.WriteLine("Exception: " + myException.ToString());
      }
   }

   public static void PrintValues( IEnumerable myList, char mySeparator )  {
      foreach ( Object obj in myList )
         Console.Write( "{0}{1}", mySeparator, obj );
      Console.WriteLine();
   }
}
/*
This code produces the following output.

myAL does not have a fixed size.
myFixedSizeAL has a fixed size.

Initially,
Standard  : The quick brown fox jumps over the lazy dog
Fixed size: The quick brown fox jumps over the lazy dog
After Sort,
Standard  : brown dog fox jumps lazy over quick the The
Fixed size: brown dog fox jumps lazy over quick the The
After Reverse,
Standard  : The the quick over lazy jumps fox dog brown
Fixed size: The the quick over lazy jumps fox dog brown
After adding to the standard ArrayList,
Standard  : The the quick over lazy jumps fox dog brown AddMe
Fixed size: The the quick over lazy jumps fox dog brown AddMe

Exception: System.NotSupportedException: Collection was of a fixed size.
   at System.Collections.FixedSizeArrayList.Add(Object obj)
   at SamplesArrayList.Main()
Exception: System.NotSupportedException: Collection was of a fixed size.
   at System.Collections.FixedSizeArrayList.Insert(int index, Object obj)
   at SamplesArrayList.Main()

*/

Hinweise

Dieser Wrapper kann verwendet werden, um Das Hinzufügen und Löschen des ursprünglichen ArrayListzu verhindern. Die Elemente können weiterhin geändert oder ersetzt werden.

Eine Auflistung mit einer festen Größe ist einfach eine Auflistung mit einem Wrapper, der das Hinzufügen und Entfernen von Elementen verhindert. Wenn daher Änderungen an der zugrunde liegenden Auflistung vorgenommen werden, einschließlich des Hinzufügens oder Entfernens von Elementen, spiegelt die Auflistung mit fester Größe diese Änderungen wider.

Diese Methode ist ein O(1) Vorgang.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

FixedSize(IList)

Quelle:
ArrayList.cs
Quelle:
ArrayList.cs
Quelle:
ArrayList.cs

Gibt einen IList-Wrapper mit fester Größe zurück.

C#
public static System.Collections.IList FixedSize (System.Collections.IList list);

Parameter

list
IList

Die zu umschließende IList.

Gibt zurück

Ein IList-Wrapper mit fester Größe.

Ausnahmen

list ist null.

Hinweise

Dieser Wrapper kann verwendet werden, um Das Hinzufügen und Löschen des ursprünglichen IListzu verhindern. Die Elemente können weiterhin geändert oder ersetzt werden.

Eine Auflistung mit einer festen Größe ist einfach eine Auflistung mit einem Wrapper, der das Hinzufügen und Entfernen von Elementen verhindert. Wenn daher Änderungen an der zugrunde liegenden Auflistung vorgenommen werden, einschließlich des Hinzufügens oder Entfernens von Elementen, spiegelt die Auflistung mit fester Größe diese Änderungen wider.

Diese Methode ist ein O(1) Vorgang.

Gilt für:

.NET 9 und andere Versionen
Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0