SortedList.TrimToSize Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger kapaciteten till det faktiska antalet element i ett SortedList objekt.
public:
virtual void TrimToSize();
public virtual void TrimToSize();
abstract member TrimToSize : unit -> unit
override this.TrimToSize : unit -> unit
Public Overridable Sub TrimToSize ()
Undantag
Exempel
Följande kodexempel visar hur du trimmar de oanvända delarna av ett SortedList objekt och hur du rensar dess värden.
using System;
using System.Collections;
public class SamplesSortedList {
public static void Main() {
// Creates and initializes a new SortedList.
SortedList mySL = new SortedList();
mySL.Add( "one", "The" );
mySL.Add( "two", "quick" );
mySL.Add( "three", "brown" );
mySL.Add( "four", "fox" );
mySL.Add( "five", "jumps" );
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "Initially," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Trims the SortedList.
mySL.TrimToSize();
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "After TrimToSize," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Clears the SortedList.
mySL.Clear();
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "After Clear," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
// Trims the SortedList again.
mySL.TrimToSize();
// Displays the count, capacity and values of the SortedList.
Console.WriteLine( "After the second TrimToSize," );
Console.WriteLine( " Count : {0}", mySL.Count );
Console.WriteLine( " Capacity : {0}", mySL.Capacity );
Console.WriteLine( " Values:" );
PrintKeysAndValues( mySL );
}
public static void PrintKeysAndValues( SortedList myList ) {
Console.WriteLine( "\t-KEY-\t-VALUE-" );
for ( int i = 0; i < myList.Count; i++ ) {
Console.WriteLine( "\t{0}:\t{1}", myList.GetKey(i), myList.GetByIndex(i) );
}
Console.WriteLine();
}
}
/*
This code produces the following output.
Initially,
Count : 5
Capacity : 16
Values:
-KEY- -VALUE-
five: jumps
four: fox
one: The
three: brown
two: quick
After TrimToSize,
Count : 5
Capacity : 5
Values:
-KEY- -VALUE-
five: jumps
four: fox
one: The
three: brown
two: quick
After Clear,
Count : 0
Capacity : 16
Values:
-KEY- -VALUE-
After the second TrimToSize,
Count : 0
Capacity : 16
Values:
-KEY- -VALUE-
*/
Imports System.Collections
Public Class SamplesSortedList
Public Shared Sub Main()
' Creates and initializes a new SortedList.
Dim mySL As New SortedList()
mySL.Add("one", "The")
mySL.Add("two", "quick")
mySL.Add("three", "brown")
mySL.Add("four", "fox")
mySL.Add("five", "jumps")
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("Initially,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
' Trims the SortedList.
mySL.TrimToSize()
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("After TrimToSize,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
' Clears the SortedList.
mySL.Clear()
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("After Clear,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
' Trims the SortedList again.
mySL.TrimToSize()
' Displays the count, capacity and values of the SortedList.
Console.WriteLine("After the second TrimToSize,")
Console.WriteLine(" Count : {0}", mySL.Count)
Console.WriteLine(" Capacity : {0}", mySL.Capacity)
Console.WriteLine(" Values:")
PrintKeysAndValues(mySL)
End Sub
Public Shared Sub PrintKeysAndValues(myList As SortedList)
Console.WriteLine(ControlChars.Tab & "-KEY-" & ControlChars.Tab & _
"-VALUE-")
Dim i As Integer
For i = 0 To myList.Count - 1
Console.WriteLine(ControlChars.Tab & "{0}:" & ControlChars.Tab & _
"{1}", myList.GetKey(i), myList.GetByIndex(i))
Next i
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Initially,
' Count : 5
' Capacity : 16
' Values:
' -KEY- -VALUE-
' five: jumps
' four: fox
' one: The
' three: brown
' two: quick
'
' After TrimToSize,
' Count : 5
' Capacity : 5
' Values:
' -KEY- -VALUE-
' five: jumps
' four: fox
' one: The
' three: brown
' two: quick
'
' After Clear,
' Count : 0
' Capacity : 16
' Values:
' -KEY- -VALUE-
'
'
' After the second TrimToSize,
' Count : 0
' Capacity : 16
' Values:
' -KEY- -VALUE-
Kommentarer
Den här metoden kan användas för att minimera minneskostnaderna för en samling om inga nya element läggs till i samlingen.
Om du vill återställa ett SortedList objekt till dess ursprungliga tillstånd anropar du Clear metoden innan du anropar TrimToSize. Om du trimmar ett tomt SortedList värde anges kapaciteten för SortedList till standardkapaciteten.
Den här metoden är en O(n) åtgärd, där n är Count.