## 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