The cell's stored timestamp, which also uniquely identifies it within
its column.
Values are always expressed in microseconds, but individual tables may set
a coarser granularity to further restrict the allowed values. For
example, a table which specifies millisecond granularity will only allow
values of timestamp_micros which are multiples of 1000.
Note: version values are stored on the server as if they are microseconds since the Unix epoch.
However, the server only supports millisecond granularity, so the server only allows microseconds
in multiples of 1,000. BigtableVersion attempts to hide this complexity by exposing
its underlying Value in terms of milliseconds, so if desired, a custom versioning
scheme of 1, 2, ... can be used rather than 1000, 2000, ... However, access to the underlying
microsecond value is still provided via Micros.
Note: when using ReadModifyWriteRow, modified columns automatically use a server version, which
is based on the current timestamp since the Unix epoch. For those columns, other reads and writes
should use BigtableVersion values constructed from DateTime values, as opposed to
using a custom versioning scheme with 64-bit values.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-12 UTC."],[[["\u003cp\u003eThis webpage provides documentation for the \u003ccode\u003eCell\u003c/code\u003e class within the Google Bigtable v2 API for .NET, with the latest version being 3.17.0.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eCell\u003c/code\u003e class specifies the contents of a single row/column/timestamp in a Bigtable table, implementing interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eCell\u003c/code\u003e class include \u003ccode\u003eLabels\u003c/code\u003e, \u003ccode\u003eTimestampMicros\u003c/code\u003e, and \u003ccode\u003eValue\u003c/code\u003e, which store information about cell metadata, its timestamp in microseconds, and the cell's stored data, respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eVersion\u003c/code\u003e property, of type \u003ccode\u003eBigtableVersion\u003c/code\u003e, uniquely identifies a cell within its column, with the underlying value being stored in microseconds but exposed primarily in milliseconds.\u003c/p\u003e\n"],["\u003cp\u003eThere are multiple versions of the \u003ccode\u003eCell\u003c/code\u003e class within the documentation ranging from version 2.2.0 up to the latest version 3.17.0, with the different links all pointing to the API documentation for \u003ccode\u003eCell\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Google Bigtable v2 API - Class Cell (3.23.0)\n\nVersion latestkeyboard_arrow_down\n\n- [3.23.0 (latest)](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.Cell)\n- [3.22.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.22.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.21.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.21.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.20.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.20.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.19.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.19.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.18.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.18.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.17.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.17.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.16.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.16.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.15.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.15.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.14.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.14.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.13.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.13.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.12.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.12.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.11.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.11.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.10.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.10.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.9.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.9.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.8.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.8.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.7.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.7.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.6.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.6.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.5.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.5.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.4.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.4.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.3.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.3.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.2.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.2.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.1.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.1.0/Google.Cloud.Bigtable.V2.Cell)\n- [3.0.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/3.0.0/Google.Cloud.Bigtable.V2.Cell)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.6.0/Google.Cloud.Bigtable.V2.Cell)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.5.0/Google.Cloud.Bigtable.V2.Cell)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.4.0/Google.Cloud.Bigtable.V2.Cell)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.3.0/Google.Cloud.Bigtable.V2.Cell)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/2.2.0/Google.Cloud.Bigtable.V2.Cell) \n\n public sealed class Cell : IMessage\u003cCell\u003e, IEquatable\u003cCell\u003e, IDeepCloneable\u003cCell\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Google Bigtable v2 API class Cell.\n\nSpecifies (some of) the contents of a single row/column/timestamp of a table. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Cell \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Cell](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.Cell), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Cell](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.Cell), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Cell](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.Cell), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Bigtable.V2](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2)\n\nAssembly\n--------\n\nGoogle.Cloud.Bigtable.V2.dll\n\nConstructors\n------------\n\n### Cell()\n\n public Cell()\n\n### Cell(Cell)\n\n public Cell(Cell other)\n\nProperties\n----------\n\n### Labels\n\n public RepeatedField\u003cstring\u003e Labels { get; }\n\nLabels applied to the cell by a \\[RowFilter\\]\\[google.bigtable.v2.RowFilter\\].\n\n### TimestampMicros\n\n public long TimestampMicros { get; set; }\n\nThe cell's stored timestamp, which also uniquely identifies it within\nits column.\nValues are always expressed in microseconds, but individual tables may set\na coarser granularity to further restrict the allowed values. For\nexample, a table which specifies millisecond granularity will only allow\nvalues of `timestamp_micros` which are multiples of 1000.\n\n### Value\n\n public ByteString Value { get; set; }\n\nThe value stored in the cell.\nMay contain any byte string, including the empty string, up to 100MiB in\nlength.\n\n### Version\n\n public BigtableVersion Version { get; }\n\nGets the version of the cell, which uniquely identifies it within its column.\n\n**Remarks** \n\nNote: version values are stored on the server as if they are microseconds since the Unix epoch.\nHowever, the server only supports millisecond granularity, so the server only allows microseconds\nin multiples of 1,000. [BigtableVersion](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.BigtableVersion) attempts to hide this complexity by exposing\nits underlying [Value](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.Cell#Google_Cloud_Bigtable_V2_Cell_Value) in terms of milliseconds, so if desired, a custom versioning\nscheme of 1, 2, ... can be used rather than 1000, 2000, ... However, access to the underlying\nmicrosecond value is still provided via [Micros](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.BigtableVersion#Google_Cloud_Bigtable_V2_BigtableVersion_Micros).\n\n\nNote: when using ReadModifyWriteRow, modified columns automatically use a server version, which\nis based on the current timestamp since the Unix epoch. For those columns, other reads and writes\nshould use [BigtableVersion](/dotnet/docs/reference/Google.Cloud.Bigtable.V2/latest/Google.Cloud.Bigtable.V2.BigtableVersion) values constructed from DateTime values, as opposed to\nusing a custom versioning scheme with 64-bit values."]]