## XSICollection.Remove

### Description

Removes a single item from the collection. Compare this method to XSICollection.RemoveItems, which removes one or more items at a time and XSICollection.RemoveAll which empties the collection completely.

### C# Syntax

    Object XSICollection.Remove( Object in_newVal );

### Scripting Syntax

    oReturn = XSICollection.Remove( Item );

### Return Value

CollectionItem or kind of ProjectItem removed

### Parameters

Parameter | Type | Description
--- | --- | ---
Item | CollectionItem, any kind of ProjectItem or String | The new item being removed. This may be a generic object (CollectionItem), a specific type of object (ProjectItem) or an Object Name (string expression).

### Examples

#### VBScript Example

    Dim oColl		' object pointer for collection

    Dim sSelList	' string list for selection

    Dim oMember	' object pointer for members

    Dim oNull		' object pointer for null object

    Dim oCollItem	' object pointer for collection item

    Dim sLightName	' string variable for the camera name

    ' Create the new collection & populate it

    Set oColl = CreateObject( "XSI.Collection" )

    Set oNull = ActiveSceneRoot.AddNull

    oColl.SetAsText oNull & ",Light,Camera"

    ' Test contents & type

    checkContents oColl

    For Each oMember In oColl

    	checkType oMember

    Next

    ' Now remove some stuff

    LogMessage "----------------"

    checkType oNull				' = project item

    oColl.Remove oNull

    checkContents oColl

    Set oCollItem = oColl.Item( "Camera" )

    checkType oCollItem			' = collection item

    oColl.Remove oCollItem

    checkContents oColl

    sLightName = "light"

    checkType sLightName			' = string expression

    oColl.Remove sLightName

    checkContents oColl

    '--------------------------------------------------

    function checkType( in_object )

    	LogMessage in_object & " is a " & TypeName( in_object )

    end function

    '--------------------------------------------------

    function checkContents( in_coll )

    	If in_coll.Count > 0 Then

    		LogMessage "Collection now contains " & in_coll.GetAsText

    		LogMessage "----------------"

    	Else

    		LogMessage "Collection is empty."

    		LogMessage "----------------"

    	End If

    end function

    '--------------------------------------------------

    ' Output of above script:

    'INFO : "Collection now contains null,light,Camera"

    'INFO : "----------------"

    'INFO : "null is a Null"

    'INFO : "light is a Light"

    'INFO : "Camera is a Camera"

    'INFO : "----------------"

    'INFO : "null is a Null"

    'INFO : "Collection now contains light,Camera"

    'INFO : "----------------"

    'INFO : "Camera is a Camera"

    'INFO : "Collection now contains light"

    'INFO : "----------------"

    'INFO : "light is a String"

    'INFO : "Collection is empty."

    'INFO : "----------------"

### See Also

XSICollection.RemoveAll XSICollection.RemoveItems