# GrainId

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/GrainId.cs#L15)

```csharp
[Orleans.GenerateSerializer]
[Orleans.Immutable]
[System.Text.Json.Serialization.JsonConverter(Orleans.Runtime.GrainIdJsonConverter)]
public readonly struct GrainId : IComparable<GrainId>, IEquatable<GrainId>, IFormattable, IParsable<GrainId>, ISpanFormattable, ISpanParsable<GrainId>, ISerializable
```

Identifies a grain.

## Constructors

- [GrainId(GrainType, IdSpan)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/constructors/constructor-orleans-runtime-graintype-orleans-runtime-idspan-bda31270/)

## Properties

- [IsDefault](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/properties/isdefault-d68afbd5/)
- [Key](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/properties/key-fc5df4e2/)
- [Type](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/properties/type-b3241991/)

## Methods

- [CompareTo(GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/compareto-orleans-runtime-grainid-567abe8a/)
- [Create(GrainType, IdSpan)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/create-orleans-runtime-graintype-orleans-runtime-idspan-afe6366e/)
- [Create(GrainType, string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/create-orleans-runtime-graintype-string-4502adfe/)
- [Create(string, string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/create-string-string-98188728/)
- [Equals(GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/equals-orleans-runtime-grainid-51eb7984/)
- [Equals(object?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/equals-object-nullable-d657dd7f/)
- [GetHashCode](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/gethashcode-399e8d73/)
- [GetObjectData(SerializationInfo, StreamingContext)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/getobjectdata-system-runtime-serialization-serializationinfo-system-runtime-seri-80a153de/)
- [GetUniformHashCode](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/getuniformhashcode-ce5b2bb6/)
- [Parse(ReadOnlySpan&lt;char&gt;, IFormatProvider?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/parse-system-readonlyspan-char-system-iformatprovider-nullable-7a320ddc/)
- [Parse(string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/parse-string-600e1018/)
- [Parse(string, IFormatProvider?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/parse-string-system-iformatprovider-nullable-c2a785ff/)
- [ToString](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/tostring-858cc18c/)
- [TryParse(ReadOnlySpan&lt;char&gt;, IFormatProvider?, GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/tryparse-system-readonlyspan-char-system-iformatprovider-nullable-out-orleans-ru-e61c0b58/)
- [TryParse(string?, IFormatProvider?, GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/tryparse-string-nullable-system-iformatprovider-nullable-out-orleans-runtime-gra-17dca7b2/)
- [TryParse(string?, GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/tryparse-string-nullable-out-orleans-runtime-grainid-494c5605/)
- [operator ==(GrainId, GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/op-equality-orleans-runtime-grainid-orleans-runtime-grainid-8e7f8b20/)
- [operator !=(GrainId, GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainid/methods/op-inequality-orleans-runtime-grainid-orleans-runtime-grainid-5ea95eb4/)
