Edit

Share via


ICloneable.Clone Method

Definition

Creates a new object that is a copy of the current instance.

C#
public object Clone();

Returns

A new object that is a copy of this instance.

Remarks

The resulting clone must be of the same type as, or compatible with, the original instance.

An implementation of Clone can perform either a deep copy or a shallow copy. In a deep copy, all objects are duplicated; in a shallow copy, only the top-level objects are duplicated and the lower levels contain references. Because callers of Clone cannot depend on the method performing a predictable cloning operation, we recommend that ICloneable not be implemented in public APIs.

See Object.MemberwiseClone for more information on cloning, deep versus shallow copies, and examples.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also