Export (0) Print
Expand All

List(Of T) Constructor

Initializes a new instance of the List(Of T) class that is empty and has the default initial capacity.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Sub New

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


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show:
© 2014 Microsoft