ArrayList.FixedSize Metoda

Definice

Vrátí obálku seznamu s pevnou velikostí, kde je povoleno měnit prvky, ale nejsou přidány nebo odebrány.

Přetížení

FixedSize(ArrayList)

Vrátí obálku ArrayList s pevnou velikostí.

FixedSize(IList)

Vrátí obálku IList s pevnou velikostí.

FixedSize(ArrayList)

Zdroj:
ArrayList.cs
Zdroj:
ArrayList.cs
Zdroj:
ArrayList.cs

Vrátí obálku ArrayList s pevnou velikostí.

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

Parametry

list
ArrayList

Zabalit ArrayList .

Návraty

Obálka ArrayList s pevnou velikostí.

Výjimky

list je null.

Příklady

Následující příklad kódu ukazuje, jak vytvořit obálku s pevnou velikostí kolem objektu ArrayList.

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()

*/

Poznámky

Tuto obálku lze použít k zabránění přidání a odstranění z původního ArrayListsouboru . Prvky je stále možné upravit nebo nahradit.

Kolekce s pevnou velikostí je jednoduše kolekce s obálkou, která zabraňuje přidávání a odebírání prvků; proto pokud jsou provedeny změny v podkladové kolekci, včetně přidání nebo odebrání prvků, kolekce s pevnou velikostí tyto změny odráží.

Tato metoda je O(1) operace.

Platí pro

.NET 9 a další verze
Produkt Verze
.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)

Zdroj:
ArrayList.cs
Zdroj:
ArrayList.cs
Zdroj:
ArrayList.cs

Vrátí obálku IList s pevnou velikostí.

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

Parametry

list
IList

Zabalit IList .

Návraty

Obálka IList s pevnou velikostí.

Výjimky

list je null.

Poznámky

Tuto obálku lze použít k zabránění přidání a odstranění z původního IListsouboru . Prvky je stále možné upravit nebo nahradit.

Kolekce s pevnou velikostí je jednoduše kolekce s obálkou, která zabraňuje přidávání a odebírání prvků; proto pokud jsou provedeny změny v podkladové kolekci, včetně přidání nebo odebrání prvků, kolekce s pevnou velikostí tyto změny odráží.

Tato metoda je O(1) operace.

Platí pro

.NET 9 a další verze
Produkt Verze
.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