<PackageReference Include="Apache.Arrow.Scalars" Version="23.0.0" />

Apache.Arrow.Scalars.Variant.VariantValue

namespace Apache.Arrow.Scalars.Variant { public readonly struct VariantValue : IEquatable<VariantValue> { public static readonly VariantValue Null; public static readonly VariantValue True; public static readonly VariantValue False; public VariantPrimitiveType PrimitiveType { get; } public bool IsNull { get; } public bool IsBoolean { get; } public bool IsString { get; } public bool IsObject { get; } public bool IsArray { get; } public static VariantValue FromBoolean(bool value); public static VariantValue FromInt8(sbyte value); public static VariantValue FromInt16(short value); public static VariantValue FromInt32(int value); public static VariantValue FromInt64(long value); public static VariantValue FromFloat(float value); public static VariantValue FromDouble(double value); public static VariantValue FromDecimal4(decimal value); public static VariantValue FromDecimal8(decimal value); public static VariantValue FromDecimal16(SqlDecimal value); public static VariantValue FromDecimal(decimal value); public static VariantValue FromSqlDecimal(SqlDecimal value); public static VariantValue FromDate(int daysSinceEpoch); public static VariantValue FromDate(DateTime date); public static VariantValue FromTimestamp(long microseconds); public static VariantValue FromTimestamp(DateTimeOffset value); public static VariantValue FromTimestampNtz(long microseconds); public static VariantValue FromTimestampNtz(DateTime value); public static VariantValue FromTimeNtz(long microseconds); public static VariantValue FromTimestampTzNanos(long nanoseconds); public static VariantValue FromTimestampNtzNanos(long nanoseconds); public static VariantValue FromString(string value); public static VariantValue FromBinary(byte[] value); public static VariantValue FromUuid(Guid value); public static VariantValue FromObject(IDictionary<string, VariantValue> fields); public static VariantValue FromArray(IList<VariantValue> elements); public static VariantValue FromArray(params VariantValue[] elements); public bool AsBoolean(); public sbyte AsInt8(); public short AsInt16(); public int AsInt32(); public long AsInt64(); public float AsFloat(); public double AsDouble(); public decimal AsDecimal(); public SqlDecimal AsSqlDecimal(); public int AsDateDays(); public DateTime AsDate(); public long AsTimestampMicros(); public DateTimeOffset AsTimestamp(); public long AsTimestampNtzMicros(); public DateTime AsTimestampNtz(); public long AsTimeNtzMicros(); public long AsTimestampTzNanos(); public long AsTimestampNtzNanos(); public string AsString(); public byte[] AsBinary(); public Guid AsUuid(); public IReadOnlyDictionary<string, VariantValue> AsObject(); public IReadOnlyList<VariantValue> AsArray(); public bool Equals(VariantValue other); public static bool operator ==(VariantValue left, VariantValue right); public static bool operator !=(VariantValue left, VariantValue right); } }