public sealed class Value : object, IMessage<Value>, IEquatable<Value>, IDeepCloneable<Value>, IBufferMessage, IMessage
Value represents a dynamically typed value which can be either
null, a number, a string, a boolean, a recursive struct value, or a
list of values. A producer of value is expected to set one of that
variants, absence of any variant indicates an error.
[[["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-07 UTC."],[[["\u003cp\u003e\u003ccode\u003eValue\u003c/code\u003e is a dynamically typed class that can represent null, a number, a string, a boolean, a recursive struct, or a list of values, with the expectation that one of these variants is set.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eValue\u003c/code\u003e class implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, and its JSON representation is simply a JSON value.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eValue\u003c/code\u003e class contains static fields like \u003ccode\u003eBoolValueFieldNumber\u003c/code\u003e, \u003ccode\u003eListValueFieldNumber\u003c/code\u003e, etc., representing the field numbers for the various types it can hold.\u003c/p\u003e\n"],["\u003cp\u003eThere are several static methods available to create a \u003ccode\u003eValue\u003c/code\u003e message, such as \u003ccode\u003eForBool\u003c/code\u003e, \u003ccode\u003eForList\u003c/code\u003e, \u003ccode\u003eForNull\u003c/code\u003e, \u003ccode\u003eForNumber\u003c/code\u003e, \u003ccode\u003eForString\u003c/code\u003e, and \u003ccode\u003eForStruct\u003c/code\u003e, each designed for a specific data type.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eValue\u003c/code\u003e class offers methods to manage its state, such as \u003ccode\u003eClone()\u003c/code\u003e, \u003ccode\u003eEquals()\u003c/code\u003e, \u003ccode\u003eMergeFrom()\u003c/code\u003e, \u003ccode\u003eCalculateSize()\u003c/code\u003e, \u003ccode\u003eClearKind()\u003c/code\u003e and \u003ccode\u003eWriteTo()\u003c/code\u003e, along with properties like \u003ccode\u003eKindCase\u003c/code\u003e, \u003ccode\u003eBoolValue\u003c/code\u003e, \u003ccode\u003eListValue\u003c/code\u003e, \u003ccode\u003eNullValue\u003c/code\u003e, \u003ccode\u003eNumberValue\u003c/code\u003e, \u003ccode\u003eStringValue\u003c/code\u003e, and \u003ccode\u003eStructValue\u003c/code\u003e for accessing and modifying the stored data.\u003c/p\u003e\n"]]],[],null,[]]