List<T>.Add Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Adds an object to the end of the List<T>.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Sub Add ( _
item As T _
)
public void Add(
T item
)
Parameters
Implements
Remarks
List<T> accepts nulla null reference (Nothing in Visual Basic) as a valid value for reference types and allows duplicate elements.
If Count already equals Capacity, the capacity of the List<T> is increased by automatically reallocating the internal array, and the existing elements are copied to the new array before the new element is added.
If Count is less than Capacity, this method is an O(1) operation. If the capacity needs to be increased to accommodate the new element, this method becomes an O(n) operation, where n is Count.
Examples
The following code example demonstrates several properties and methods of the List<T> generic class, including the Add method. The default constructor is used to create a list of strings with a capacity of 0. The Capacity property is displayed, and then the Add method is used to add several items. The items are listed, and the Capacity property is displayed again, along with the Count property, to show that the capacity has been increased as needed.
Other properties and methods are used to search for, insert, and remove elements from the list, and finally to clear the list.
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
using System;
using System.Collections.Generic;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
List<string> dinosaurs = new List<string>();
outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";
dinosaurs.Add("Tyrannosaurus");
dinosaurs.Add("Amargasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deinonychus");
dinosaurs.Add("Compsognathus");
outputBlock.Text += "\n";
foreach (string dinosaur in dinosaurs)
{
outputBlock.Text += dinosaur + "\n";
}
outputBlock.Text += String.Format("\nCapacity: {0}", dinosaurs.Capacity) + "\n";
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
outputBlock.Text += String.Format("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus")) + "\n";
outputBlock.Text += String.Format("\nInsert(2, \"Compsognathus\")") + "\n";
dinosaurs.Insert(2, "Compsognathus");
outputBlock.Text += "\n";
foreach (string dinosaur in dinosaurs)
{
outputBlock.Text += dinosaur + "\n";
}
outputBlock.Text += String.Format("\ndinosaurs[3]: {0}", dinosaurs[3]) + "\n";
outputBlock.Text += "\nRemove(\"Compsognathus\")" + "\n";
dinosaurs.Remove("Compsognathus");
outputBlock.Text += "\n";
foreach (string dinosaur in dinosaurs)
{
outputBlock.Text += dinosaur + "\n";
}
dinosaurs.TrimExcess();
outputBlock.Text += "\nTrimExcess()" + "\n";
outputBlock.Text += String.Format("Capacity: {0}", dinosaurs.Capacity) + "\n";
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
dinosaurs.Clear();
outputBlock.Text += "\nClear()" + "\n";
outputBlock.Text += String.Format("Capacity: {0}", dinosaurs.Capacity) + "\n";
outputBlock.Text += String.Format("Count: {0}", dinosaurs.Count) + "\n";
}
}
/* 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
*/
Version Information
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
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.