List(Of T) Constructor
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Initializes a new instance of the List(Of T) class that is empty and has the default initial capacity.
Assembly: mscorlib (in mscorlib.dll)
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, using the List(Of T)(Int32) constructor and 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(1) operation.
The following code example demonstrates the default constructor of the List(Of T) generic class. The default constructor creates a list with the default capacity, as demonstrated by displaying the Capacity property.
The code example adds, inserts, and removes items, showing how the capacity changes as these methods are used.
Imports System.Collections.Generic Public Class Example Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) Dim dinosaurs As New List(Of String) outputBlock.Text &= String.Format(vbLf & "Capacity: {0}", dinosaurs.Capacity) & vbCrLf dinosaurs.Add("Tyrannosaurus") dinosaurs.Add("Amargasaurus") dinosaurs.Add("Mamenchisaurus") dinosaurs.Add("Deinonychus") dinosaurs.Add("Compsognathus") outputBlock.Text &= vbCrLf For Each dinosaur As String In dinosaurs outputBlock.Text &= dinosaur & vbCrLf Next outputBlock.Text &= String.Format(vbLf & "Capacity: {0}", dinosaurs.Capacity) & vbCrLf outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf outputBlock.Text &= vbLf & String.Format("Contains(""Deinonychus"": {0}", _ dinosaurs.Contains("Deinonychus")) & vbCrLf outputBlock.Text &= String.Format(vbLf & "Insert(2, ""Compsognathus"")") & vbCrLf dinosaurs.Insert(2, "Compsognathus") outputBlock.Text &= vbCrLf For Each dinosaur As String In dinosaurs outputBlock.Text &= dinosaur & vbCrLf Next outputBlock.Text &= String.Format(vbLf & "dinosaurs(3): {0}", dinosaurs(3)) & vbCrLf outputBlock.Text &= vbLf & "Remove(""Compsognathus"")" & vbCrLf dinosaurs.Remove("Compsognathus") outputBlock.Text &= vbCrLf For Each dinosaur As String In dinosaurs outputBlock.Text &= dinosaur & vbCrLf Next dinosaurs.TrimExcess() outputBlock.Text &= vbLf & "TrimExcess()" & vbCrLf outputBlock.Text &= String.Format("Capacity: {0}", dinosaurs.Capacity) & vbCrLf outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf dinosaurs.Clear() outputBlock.Text &= vbLf & "Clear()" & vbCrLf outputBlock.Text &= String.Format("Capacity: {0}", dinosaurs.Capacity) & vbCrLf outputBlock.Text &= String.Format("Count: {0}", dinosaurs.Count) & vbCrLf End Sub End Class ' This code example produces the following output: ' 'Capacity: 0 ' 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Deinonychus 'Compsognathus ' 'Capacity: 8 'Count: 5 ' 'Contains("Deinonychus"): True ' 'Insert(2, "Compsognathus") ' 'Tyrannosaurus 'Amargasaurus 'Compsognathus 'Mamenchisaurus 'Deinonychus 'Compsognathus ' 'dinosaurs(3): Mamenchisaurus ' 'Remove("Compsognathus") ' 'Tyrannosaurus 'Amargasaurus 'Mamenchisaurus 'Deinonychus 'Compsognathus ' 'TrimExcess() 'Capacity: 5 'Count: 5 ' 'Clear() 'Capacity: 5 'Count: 0