# UserDataList class

Namespace: [Rhino.DocObjects.Custom](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.docobjects.custom.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public class UserDataList : IEnumerable<UserData>
```

Represents a collection of user data.

## Properties

- [Count](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/count.md): Number of UserData objects in this list.

## Indexers

- [this[]](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/item.md): Retrieve through indexer. Read-only access.

## Methods

- [Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/add.md): If the user-data is already in a different UserDataList, it will be removed from that list and added to this list.
- [Contains](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/contains.md): Checks for the existence of a specific type of user-data in this list Both .NET and native user-data is checked
- [Find](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/find.md): Finds a specific data type in this regulated collection.
- [GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/getenumerator.md): Get enumerator for UserDataList
- [Purge](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/purge.md): Removes all user data from this geometry.
- [Remove](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/remove.md): Remove the user-data from this list
- [IEnumerable.GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.custom.userdatalist/system-collections-ienumerable-getenumerator.md)
