List(Of T) Constructor (Int32)
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Initializes a new instance of the List(Of T) class that is empty and has the specified initial capacity.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- capacity
-
Type:
System.Int32
The number of elements that the new list can initially store.
Exception | Condition |
---|---|
ArgumentOutOfRangeException | capacity is less than 0. |
The capacity of a List(Of T) is the number of elements that the List(Of T) can hold. As elements are added to a List(Of T), the capacity is automatically increased as required by reallocating the internal array.
If the size of the collection can be estimated, specifying the initial capacity eliminates the need to perform a number of resizing operations while adding elements to the List(Of T).
The capacity can be decreased by calling the TrimExcess method or by setting the Capacity property explicitly. Decreasing the capacity reallocates memory and copies all the elements in the List(Of T).
This constructor is an O(n) operation, where n is capacity.
The following example demonstrates the List(Of T)(Int32) constructor. A List(Of T) of strings with a capacity of 4 is created, because the ultimate size of the list is known to be exactly 4. The list is populated with four strings, and a read-only copy is created by using the AsReadOnly method.
Imports System Imports System.Collections.Generic Public Class Example Public Shared Sub Main() Dim dinosaurs As New List(Of String)(4) Console.WriteLine(vbLf & "Capacity: {0}", dinosaurs.Capacity) dinosaurs.Add("Tyrannosaurus") dinosaurs.Add("Amargasaurus") dinosaurs.Add("Mamenchisaurus") dinosaurs.Add("Deinonychus") Console.WriteLine() For Each dinosaur As String In dinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & _ "Dim roDinosaurs As IList(Of String) = dinosaurs.AsReadOnly") Dim roDinosaurs As IList(Of String) = dinosaurs.AsReadOnly Console.WriteLine(vbLf & "Elements in the read-only IList:") For Each dinosaur As String In roDinosaurs Console.WriteLine(dinosaur) Next Console.WriteLine(vbLf & "dinosaurs(2) = ""Coelophysis""") dinosaurs(2) = "Coelophysis" Console.WriteLine(vbLf & "Elements in the read-only IList:") For Each dinosaur As String In roDinosaurs Console.WriteLine(dinosaur) Next End Sub End Class ' This code example produces the following output: ' 'Capacity: 4 ' 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Deinonychus ' 'Dim roDinosaurs As IList(Of String) = dinosaurs.AsReadOnly ' 'Elements in the read-only IList: 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Deinonychus ' 'dinosaurs(2) = "Coelophysis" ' 'Elements in the read-only IList: 'Tyrannosaurus 'Amargasaurus 'Coelophysis 'Deinonychus
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1