# UniqueKey

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/IDs/Legacy/UniqueKey.cs#L11)

```csharp
[Orleans.GenerateSerializer]
[Orleans.Immutable]
[Orleans.SuppressReferenceTracking]
public sealed class UniqueKey : IComparable<UniqueKey>, IEquatable<UniqueKey>
```

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

## Constructors

- [UniqueKey](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/constructors/constructor-903e62e1/)

## Properties

- [BaseTypeCode](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/basetypecode-3469e293/)
- [HasKeyExt](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/haskeyext-33f8c10a/)
- [IdCategory](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/idcategory-5e7d99d1/)
- [IsLongKey](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/islongkey-152860cd/)
- [IsSystemTargetKey](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/issystemtargetkey-e9a977ab/)
- [KeyExt](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/keyext-74b05720/)
- [N0](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/n0-c3145e5d/)
- [N1](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/n1-c2145cca/)
- [TypeCodeData](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/properties/typecodedata-3579cc3a/)

## Methods

- [CompareTo(UniqueKey?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/compareto-orleans-runtime-uniquekey-nullable-bfac9b13/)
- [Equals(UniqueKey?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/equals-orleans-runtime-uniquekey-nullable-86d29829/)
- [Equals(object?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/equals-object-nullable-4d79ddd3/)
- [GetHashCode](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/gethashcode-050bfe03/)
- [NewGrainServiceKey(short, long)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/newgrainservicekey-short-long-debfd003/)
- [NewGrainServiceKey(string, long)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/newgrainservicekey-string-long-0742c73e/)
- [NewKey](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/newkey-8fd2ed76/)
- [NewSystemTargetKey(Guid, long)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/newsystemtargetkey-system-guid-long-14d7edda/)
- [NewSystemTargetKey(short)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/newsystemtargetkey-short-51d28408/)
- [PrimaryKeyToGuid](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/primarykeytoguid-09117d29/)
- [PrimaryKeyToGuid(string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/primarykeytoguid-out-string-nullable-078f390f/)
- [PrimaryKeyToLong](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/primarykeytolong-72b1548f/)
- [PrimaryKeyToLong(string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/primarykeytolong-out-string-nullable-6016c551/)
- [ToString](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.uniquekey/methods/tostring-4413642c/)
