Skip to main content
Version: 4.0 (next)

Humanizer.ByteSize

ByteSize Struct

public struct ByteSize : System.IComparable<Humanizer.ByteSize>, System.IEquatable<Humanizer.ByteSize>, System.IComparable, System.IFormattable

Implements System.IComparable<ByteSize>, System.IEquatable<ByteSize>, System.IComparable, System.IFormattable

Constructors

ByteSize(double) Constructor

public ByteSize(double byteSize);

Parameters

byteSize System.Double

Fields

ByteSize.Bit Field

public const string Bit = "bit";

Field Value

System.String

ByteSize.BitsInByte Field

public const long BitsInByte = 8;

Field Value

System.Int64

ByteSize.BitSymbol Field

public const string BitSymbol = "b";

Field Value

System.String

ByteSize.Byte Field

public const string Byte = "byte";

Field Value

System.String

ByteSize.BytesInDecimalExabyte Field

Gets the number of bytes in one decimal SI exabyte.

public const long BytesInDecimalExabyte = 1000000000000000000;

Field Value

System.Int64

ByteSize.BytesInDecimalGigabyte Field

Gets the number of bytes in one decimal SI gigabyte.

public const long BytesInDecimalGigabyte = 1000000000;

Field Value

System.Int64

ByteSize.BytesInDecimalKilobyte Field

Gets the number of bytes in one decimal SI kilobyte.

public const long BytesInDecimalKilobyte = 1000;

Field Value

System.Int64

ByteSize.BytesInDecimalMegabyte Field

Gets the number of bytes in one decimal SI megabyte.

public const long BytesInDecimalMegabyte = 1000000;

Field Value

System.Int64

ByteSize.BytesInDecimalPetabyte Field

Gets the number of bytes in one decimal SI petabyte.

public const long BytesInDecimalPetabyte = 1000000000000000;

Field Value

System.Int64

ByteSize.BytesInDecimalTerabyte Field

Gets the number of bytes in one decimal SI terabyte.

public const long BytesInDecimalTerabyte = 1000000000000;

Field Value

System.Int64

ByteSize.BytesInExabyte Field

public const long BytesInExabyte = 1000000000000000000;

Field Value

System.Int64

ByteSize.BytesInGibibyte Field

The number of bytes in a gibibyte, equivalent to the established gigabyte factor.

public const long BytesInGibibyte = 1073741824;

Field Value

System.Int64

ByteSize.BytesInGigabyte Field

public const long BytesInGigabyte = 1073741824;

Field Value

System.Int64

ByteSize.BytesInKibibyte Field

The number of bytes in a kibibyte, equivalent to the established kilobyte factor.

public const long BytesInKibibyte = 1024;

Field Value

System.Int64

ByteSize.BytesInKilobyte Field

public const long BytesInKilobyte = 1024;

Field Value

System.Int64

ByteSize.BytesInMebibyte Field

The number of bytes in a mebibyte, equivalent to the established megabyte factor.

public const long BytesInMebibyte = 1048576;

Field Value

System.Int64

ByteSize.BytesInMegabyte Field

public const long BytesInMegabyte = 1048576;

Field Value

System.Int64

ByteSize.BytesInPebibyte Field

public const long BytesInPebibyte = 1125899906842624;

Field Value

System.Int64

ByteSize.BytesInPetabyte Field

public const long BytesInPetabyte = 1000000000000000;

Field Value

System.Int64

ByteSize.BytesInTebibyte Field

The number of bytes in a tebibyte, equivalent to the established terabyte factor.

public const long BytesInTebibyte = 1099511627776;

Field Value

System.Int64

ByteSize.BytesInTerabyte Field

public const long BytesInTerabyte = 1099511627776;

Field Value

System.Int64

ByteSize.ByteSymbol Field

public const string ByteSymbol = "B";

Field Value

System.String

ByteSize.Exabyte Field

public const string Exabyte = "exabyte";

Field Value

System.String

ByteSize.ExabyteSymbol Field

public const string ExabyteSymbol = "EB";

Field Value

System.String

ByteSize.Gibibyte Field

The name of a gibibyte.

public const string Gibibyte = "gibibyte";

Field Value

System.String

ByteSize.GibibyteSymbol Field

The symbol for a gibibyte.

public const string GibibyteSymbol = "GiB";

Field Value

System.String

ByteSize.Gigabyte Field

public const string Gigabyte = "gigabyte";

Field Value

System.String

ByteSize.GigabyteSymbol Field

public const string GigabyteSymbol = "GB";

Field Value

System.String

ByteSize.Kibibyte Field

The name of a kibibyte.

public const string Kibibyte = "kibibyte";

Field Value

System.String

ByteSize.KibibyteSymbol Field

The symbol for a kibibyte.

public const string KibibyteSymbol = "KiB";

Field Value

System.String

ByteSize.Kilobyte Field

public const string Kilobyte = "kilobyte";

Field Value

System.String

ByteSize.KilobyteSymbol Field

public const string KilobyteSymbol = "KB";

Field Value

System.String

ByteSize.MaxValue Field

public static readonly ByteSize MaxValue;

Field Value

ByteSize

ByteSize.Mebibyte Field

The name of a mebibyte.

public const string Mebibyte = "mebibyte";

Field Value

System.String

ByteSize.MebibyteSymbol Field

The symbol for a mebibyte.

public const string MebibyteSymbol = "MiB";

Field Value

System.String

ByteSize.Megabyte Field

public const string Megabyte = "megabyte";

Field Value

System.String

ByteSize.MegabyteSymbol Field

public const string MegabyteSymbol = "MB";

Field Value

System.String

ByteSize.MinValue Field

public static readonly ByteSize MinValue;

Field Value

ByteSize

ByteSize.Pebibyte Field

public const string Pebibyte = "pebibyte";

Field Value

System.String

ByteSize.PebibyteSymbol Field

public const string PebibyteSymbol = "PiB";

Field Value

System.String

ByteSize.Petabyte Field

public const string Petabyte = "petabyte";

Field Value

System.String

ByteSize.PetabyteSymbol Field

public const string PetabyteSymbol = "PB";

Field Value

System.String

ByteSize.Tebibyte Field

The name of a tebibyte.

public const string Tebibyte = "tebibyte";

Field Value

System.String

ByteSize.TebibyteSymbol Field

The symbol for a tebibyte.

public const string TebibyteSymbol = "TiB";

Field Value

System.String

ByteSize.Terabyte Field

public const string Terabyte = "terabyte";

Field Value

System.String

ByteSize.TerabyteSymbol Field

public const string TerabyteSymbol = "TB";

Field Value

System.String

Properties

ByteSize.Bits Property

public readonly long Bits { get; }

Property Value

System.Int64

ByteSize.Bytes Property

public readonly double Bytes { get; }

Property Value

System.Double

ByteSize.DecimalExabytes Property

Gets this value expressed in decimal SI exabytes.

public readonly double DecimalExabytes { get; }

Property Value

System.Double

ByteSize.DecimalGigabytes Property

Gets this value expressed in decimal SI gigabytes.

public readonly double DecimalGigabytes { get; }

Property Value

System.Double

ByteSize.DecimalKilobytes Property

Gets this value expressed in decimal SI kilobytes.

public readonly double DecimalKilobytes { get; }

Property Value

System.Double

ByteSize.DecimalMegabytes Property

Gets this value expressed in decimal SI megabytes.

public readonly double DecimalMegabytes { get; }

Property Value

System.Double

ByteSize.DecimalPetabytes Property

Gets this value expressed in decimal SI petabytes.

public readonly double DecimalPetabytes { get; }

Property Value

System.Double

ByteSize.DecimalTerabytes Property

Gets this value expressed in decimal SI terabytes.

public readonly double DecimalTerabytes { get; }

Property Value

System.Double

ByteSize.Exabytes Property

public readonly double Exabytes { get; }

Property Value

System.Double

ByteSize.Gibibytes Property

Gets the size in gibibytes.

public readonly double Gibibytes { get; }

Property Value

System.Double

ByteSize.Gigabytes Property

public readonly double Gigabytes { get; }

Property Value

System.Double

ByteSize.Kibibytes Property

Gets the size in kibibytes.

public readonly double Kibibytes { get; }

Property Value

System.Double

ByteSize.Kilobytes Property

public readonly double Kilobytes { get; }

Property Value

System.Double

ByteSize.LargestWholeNumberFullWord Property

public readonly string LargestWholeNumberFullWord { get; }

Property Value

System.String

ByteSize.LargestWholeNumberSymbol Property

public readonly string LargestWholeNumberSymbol { get; }

Property Value

System.String

ByteSize.LargestWholeNumberValue Property

public readonly double LargestWholeNumberValue { get; }

Property Value

System.Double

ByteSize.Mebibytes Property

Gets the size in mebibytes.

public readonly double Mebibytes { get; }

Property Value

System.Double

ByteSize.Megabytes Property

public readonly double Megabytes { get; }

Property Value

System.Double

ByteSize.Pebibytes Property

public readonly double Pebibytes { get; }

Property Value

System.Double

ByteSize.Petabytes Property

public readonly double Petabytes { get; }

Property Value

System.Double

ByteSize.Tebibytes Property

Gets the size in tebibytes.

public readonly double Tebibytes { get; }

Property Value

System.Double

ByteSize.Terabytes Property

public readonly double Terabytes { get; }

Property Value

System.Double

Methods

ByteSize.Add(ByteSize) Method

public readonly Humanizer.ByteSize Add(Humanizer.ByteSize bs);

Parameters

bs ByteSize

Returns

ByteSize

ByteSize.AddBits(long) Method

public readonly Humanizer.ByteSize AddBits(long value);

Parameters

value System.Int64

Returns

ByteSize

ByteSize.AddBytes(double) Method

public readonly Humanizer.ByteSize AddBytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddExabytes(double) Method

public readonly Humanizer.ByteSize AddExabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddGigabytes(double) Method

public readonly Humanizer.ByteSize AddGigabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddKilobytes(double) Method

public readonly Humanizer.ByteSize AddKilobytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddMegabytes(double) Method

public readonly Humanizer.ByteSize AddMegabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddPebibytes(double) Method

public readonly Humanizer.ByteSize AddPebibytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddPetabytes(double) Method

public readonly Humanizer.ByteSize AddPetabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.AddTerabytes(double) Method

public readonly Humanizer.ByteSize AddTerabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.CompareTo(ByteSize) Method

public readonly int CompareTo(Humanizer.ByteSize other);

Parameters

other ByteSize

Returns

System.Int32

ByteSize.CompareTo(object) Method

public readonly int CompareTo(object? obj);

Parameters

obj System.Object

Implements CompareTo(object)

Returns

System.Int32

ByteSize.Equals(ByteSize) Method

public readonly bool Equals(Humanizer.ByteSize value);

Parameters

value ByteSize

Returns

System.Boolean

ByteSize.Equals(object) Method

public override readonly bool Equals(object? value);

Parameters

value System.Object

Returns

System.Boolean

ByteSize.Format(ByteSizeUnitSystem, string, IFormatProvider) Method

Formats this value with an explicitly selected unit system.

public readonly string Format(Humanizer.ByteSizeUnitSystem unitSystem, string? format=null, System.IFormatProvider? formatProvider=null);

Parameters

unitSystem ByteSizeUnitSystem

The unit system to use.

format System.String

The numeric format and optional unit token. For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive; output uses canonical symbol casing. Legacy preserves established matching behavior. At most one distinct unescaped, unquoted unit token is permitted, although the same token may be repeated across numeric format sections.

formatProvider System.IFormatProvider

The provider used to format the numeric value.

Returns

System.String
The formatted byte size.

Exceptions

System.ArgumentOutOfRangeException
unitSystem is not defined.

System.FormatException
format is invalid, contains mixed unit tokens, or selects a token not supported by the selected non-legacy system.

ByteSize.FormatFullWords(ByteSizeUnitSystem, string, IFormatProvider) Method

Formats this value with localized unit words from an explicitly selected unit system.

public readonly string FormatFullWords(Humanizer.ByteSizeUnitSystem unitSystem, string? format=null, System.IFormatProvider? formatProvider=null);

Parameters

unitSystem ByteSizeUnitSystem

The unit system to use.

format System.String

The numeric format and optional unit token. For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive; localized words replace the selected token. Legacy preserves established matching behavior. At most one distinct unescaped, unquoted unit token is permitted, although the same token may be repeated across numeric format sections.

formatProvider System.IFormatProvider

The provider used to format the numeric value and select localized unit words.

Returns

System.String
The formatted byte size using localized unit words.

Exceptions

System.ArgumentOutOfRangeException
unitSystem is not defined.

System.FormatException
format is invalid, contains mixed unit tokens, or selects a token not supported by the selected non-legacy system.

ByteSize.FromBits(long) Method

public static Humanizer.ByteSize FromBits(long value);

Parameters

value System.Int64

Returns

ByteSize

ByteSize.FromBytes(double) Method

public static Humanizer.ByteSize FromBytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromDecimalExabytes(double) Method

Creates a byte size from a number of decimal SI exabytes.

public static Humanizer.ByteSize FromDecimalExabytes(double value);

Parameters

value System.Double

The number of decimal SI exabytes.

Returns

ByteSize
The equivalent byte size.

Exceptions

System.ArgumentOutOfRangeException
value is not finite or is outside the range supported by Bits.

ByteSize.FromDecimalGigabytes(double) Method

Creates a byte size from a number of decimal SI gigabytes.

public static Humanizer.ByteSize FromDecimalGigabytes(double value);

Parameters

value System.Double

The number of decimal SI gigabytes.

Returns

ByteSize
The equivalent byte size.

Exceptions

System.ArgumentOutOfRangeException
value is not finite or is outside the range supported by Bits.

ByteSize.FromDecimalKilobytes(double) Method

Creates a byte size from a number of decimal SI kilobytes.

public static Humanizer.ByteSize FromDecimalKilobytes(double value);

Parameters

value System.Double

The number of decimal SI kilobytes.

Returns

ByteSize
The equivalent byte size.

Exceptions

System.ArgumentOutOfRangeException
value is not finite or is outside the range supported by Bits.

ByteSize.FromDecimalMegabytes(double) Method

Creates a byte size from a number of decimal SI megabytes.

public static Humanizer.ByteSize FromDecimalMegabytes(double value);

Parameters

value System.Double

The number of decimal SI megabytes.

Returns

ByteSize
The equivalent byte size.

Exceptions

System.ArgumentOutOfRangeException
value is not finite or is outside the range supported by Bits.

ByteSize.FromDecimalPetabytes(double) Method

Creates a byte size from a number of decimal SI petabytes.

public static Humanizer.ByteSize FromDecimalPetabytes(double value);

Parameters

value System.Double

The number of decimal SI petabytes.

Returns

ByteSize
The equivalent byte size.

Exceptions

System.ArgumentOutOfRangeException
value is not finite or is outside the range supported by Bits.

ByteSize.FromDecimalTerabytes(double) Method

Creates a byte size from a number of decimal SI terabytes.

public static Humanizer.ByteSize FromDecimalTerabytes(double value);

Parameters

value System.Double

The number of decimal SI terabytes.

Returns

ByteSize
The equivalent byte size.

Exceptions

System.ArgumentOutOfRangeException
value is not finite or is outside the range supported by Bits.

ByteSize.FromExabytes(double) Method

public static Humanizer.ByteSize FromExabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromGibibytes(double) Method

Creates a byte size from a number of gibibytes.

public static Humanizer.ByteSize FromGibibytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromGigabytes(double) Method

public static Humanizer.ByteSize FromGigabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromKibibytes(double) Method

Creates a byte size from a number of kibibytes.

public static Humanizer.ByteSize FromKibibytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromKilobytes(double) Method

public static Humanizer.ByteSize FromKilobytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromMebibytes(double) Method

Creates a byte size from a number of mebibytes.

public static Humanizer.ByteSize FromMebibytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromMegabytes(double) Method

public static Humanizer.ByteSize FromMegabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromPebibytes(double) Method

public static Humanizer.ByteSize FromPebibytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromPetabytes(double) Method

public static Humanizer.ByteSize FromPetabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromTebibytes(double) Method

Creates a byte size from a number of tebibytes.

public static Humanizer.ByteSize FromTebibytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.FromTerabytes(double) Method

public static Humanizer.ByteSize FromTerabytes(double value);

Parameters

value System.Double

Returns

ByteSize

ByteSize.GetHashCode() Method

public override readonly int GetHashCode();

Returns

System.Int32

ByteSize.GetLargestWholeNumberFullWord(IFormatProvider) Method

public readonly string GetLargestWholeNumberFullWord(System.IFormatProvider? provider=null);

Parameters

provider System.IFormatProvider

Returns

System.String

ByteSize.GetLargestWholeNumberSymbol(IFormatProvider) Method

public readonly string GetLargestWholeNumberSymbol(System.IFormatProvider? provider=null);

Parameters

provider System.IFormatProvider

Returns

System.String

ByteSize.Parse(string) Method

public static Humanizer.ByteSize Parse(string s);

Parameters

s System.String

Returns

ByteSize

ByteSize.Parse(string, IFormatProvider) Method

public static Humanizer.ByteSize Parse(string s, System.IFormatProvider? formatProvider);

Parameters

s System.String

formatProvider System.IFormatProvider

Returns

ByteSize

ByteSize.ParseWithUnitSystem(string, ByteSizeUnitSystem, IFormatProvider) Method

Parses a byte size using only the tokens defined by the selected unit system.

public static Humanizer.ByteSize ParseWithUnitSystem(string s, Humanizer.ByteSizeUnitSystem unitSystem, System.IFormatProvider? formatProvider=null);

Parameters

s System.String

The text to parse.

unitSystem ByteSizeUnitSystem

The unit system whose tokens are accepted.

formatProvider System.IFormatProvider

The provider used to parse the numeric value.

Returns

ByteSize
The parsed byte size.

Exceptions

System.ArgumentNullException
s is null.

System.ArgumentOutOfRangeException
unitSystem is not defined.

System.FormatException
s is not valid for the selected unit system.

Remarks

For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive. Legacy parsing preserves the established behavior.

ByteSize.Subtract(ByteSize) Method

public readonly Humanizer.ByteSize Subtract(Humanizer.ByteSize bs);

Parameters

bs ByteSize

Returns

ByteSize

ByteSize.ToFullWords(string, IFormatProvider) Method

Converts the value of the current ByteSize object to a string with full words. The metric prefix symbol (bit, byte, kilo, mega, giga, tera, peta, exa) used is the largest metric prefix such that the corresponding value is greater than or equal to one.

public readonly string ToFullWords(string? format=null, System.IFormatProvider? provider=null);

Parameters

format System.String

provider System.IFormatProvider

Returns

System.String

ByteSize.ToString() Method

Converts the value of the current ByteSize object to a string. The metric prefix symbol (bit, byte, kilo, mega, giga, tera, peta, exa) used is the largest metric prefix such that the corresponding value is greater than or equal to one.

public override readonly string ToString();

Returns

System.String

ByteSize.ToString(string) Method

public readonly string ToString(string? format);

Parameters

format System.String

Returns

System.String

ByteSize.ToString(string, IFormatProvider) Method

public readonly string ToString(string? format, System.IFormatProvider? provider);

Parameters

format System.String

provider System.IFormatProvider

Implements ToString(string, IFormatProvider)

Returns

System.String

ByteSize.ToString(IFormatProvider) Method

public readonly string ToString(System.IFormatProvider? provider);

Parameters

provider System.IFormatProvider

Returns

System.String

ByteSize.TryParse(string, ByteSize) Method

public static bool TryParse(string? s, out Humanizer.ByteSize result);

Parameters

s System.String

result ByteSize

Returns

System.Boolean

ByteSize.TryParse(string, IFormatProvider, ByteSize) Method

public static bool TryParse(string? s, System.IFormatProvider? formatProvider, out Humanizer.ByteSize result);

Parameters

s System.String

formatProvider System.IFormatProvider

result ByteSize

Returns

System.Boolean

ByteSize.TryParse(ReadOnlySpan<char>, ByteSize) Method

public static bool TryParse(System.ReadOnlySpan<char> s, out Humanizer.ByteSize result);

Parameters

s System.ReadOnlySpan<System.Char>

result ByteSize

Returns

System.Boolean

ByteSize.TryParse(ReadOnlySpan<char>, IFormatProvider, ByteSize) Method

public static bool TryParse(System.ReadOnlySpan<char> s, System.IFormatProvider? formatProvider, out Humanizer.ByteSize result);

Parameters

s System.ReadOnlySpan<System.Char>

formatProvider System.IFormatProvider

result ByteSize

Returns

System.Boolean

ByteSize.TryParseSpanWithUnitSystem(ReadOnlySpan<char>, ByteSizeUnitSystem, ByteSize) Method

Attempts to parse a byte-size character span using only the tokens defined by the selected unit system.

public static bool TryParseSpanWithUnitSystem(System.ReadOnlySpan<char> s, Humanizer.ByteSizeUnitSystem unitSystem, out Humanizer.ByteSize result);

Parameters

s System.ReadOnlySpan<System.Char>

The character span to parse.

unitSystem ByteSizeUnitSystem

The unit system whose tokens are accepted.

result ByteSize

When this method returns, contains the parsed byte size if parsing succeeded; otherwise, the default value.

Returns

System.Boolean
true if parsing succeeded; otherwise, false.

Exceptions

System.ArgumentOutOfRangeException
unitSystem is not defined.

Remarks

For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive. Legacy parsing preserves the established behavior.

ByteSize.TryParseSpanWithUnitSystem(ReadOnlySpan<char>, ByteSizeUnitSystem, IFormatProvider, ByteSize) Method

Attempts to parse a byte-size character span using only the tokens defined by the selected unit system.

public static bool TryParseSpanWithUnitSystem(System.ReadOnlySpan<char> s, Humanizer.ByteSizeUnitSystem unitSystem, System.IFormatProvider? formatProvider, out Humanizer.ByteSize result);

Parameters

s System.ReadOnlySpan<System.Char>

The character span to parse.

unitSystem ByteSizeUnitSystem

The unit system whose tokens are accepted.

formatProvider System.IFormatProvider

The provider used to parse the numeric value.

result ByteSize

When this method returns, contains the parsed byte size if parsing succeeded; otherwise, the default value.

Returns

System.Boolean
true if parsing succeeded; otherwise, false.

Exceptions

System.ArgumentOutOfRangeException
unitSystem is not defined.

Remarks

For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive. Legacy parsing preserves the established behavior.

ByteSize.TryParseWithUnitSystem(string, ByteSizeUnitSystem, ByteSize) Method

Attempts to parse a byte size using only the tokens defined by the selected unit system.

public static bool TryParseWithUnitSystem(string? s, Humanizer.ByteSizeUnitSystem unitSystem, out Humanizer.ByteSize result);

Parameters

s System.String

The text to parse.

unitSystem ByteSizeUnitSystem

The unit system whose tokens are accepted.

result ByteSize

When this method returns, contains the parsed byte size if parsing succeeded; otherwise, the default value.

Returns

System.Boolean
true if parsing succeeded; otherwise, false.

Exceptions

System.ArgumentOutOfRangeException
unitSystem is not defined.

Remarks

For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive. Legacy parsing preserves the established behavior.

ByteSize.TryParseWithUnitSystem(string, ByteSizeUnitSystem, IFormatProvider, ByteSize) Method

Attempts to parse a byte size using only the tokens defined by the selected unit system.

public static bool TryParseWithUnitSystem(string? s, Humanizer.ByteSizeUnitSystem unitSystem, System.IFormatProvider? formatProvider, out Humanizer.ByteSize result);

Parameters

s System.String

The text to parse.

unitSystem ByteSizeUnitSystem

The unit system whose tokens are accepted.

formatProvider System.IFormatProvider

The provider used to parse the numeric value.

result ByteSize

When this method returns, contains the parsed byte size if parsing succeeded; otherwise, the default value.

Returns

System.Boolean
true if parsing succeeded; otherwise, false.

Exceptions

System.ArgumentOutOfRangeException
unitSystem is not defined.

Remarks

For DecimalSi and BinaryIec, SI/IEC-prefixed unit tokens are matched case-insensitively, while b and B remain case-sensitive. Legacy parsing preserves the established behavior.

Operators

ByteSize.operator +(ByteSize, ByteSize) Operator

public static Humanizer.ByteSize operator +(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

ByteSize

ByteSize.operator --(ByteSize) Operator

public static Humanizer.ByteSize operator --(Humanizer.ByteSize b);

Parameters

b ByteSize

Returns

ByteSize

ByteSize.operator ==(ByteSize, ByteSize) Operator

public static bool operator ==(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

System.Boolean

ByteSize.operator >(ByteSize, ByteSize) Operator

public static bool operator >(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

System.Boolean

ByteSize.operator >=(ByteSize, ByteSize) Operator

public static bool operator >=(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

System.Boolean

ByteSize.operator ++(ByteSize) Operator

public static Humanizer.ByteSize operator ++(Humanizer.ByteSize b);

Parameters

b ByteSize

Returns

ByteSize

ByteSize.operator !=(ByteSize, ByteSize) Operator

public static bool operator !=(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

System.Boolean

ByteSize.operator <(ByteSize, ByteSize) Operator

public static bool operator <(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

System.Boolean

ByteSize.operator <=(ByteSize, ByteSize) Operator

public static bool operator <=(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

System.Boolean

ByteSize.operator -(ByteSize, ByteSize) Operator

public static Humanizer.ByteSize operator -(Humanizer.ByteSize b1, Humanizer.ByteSize b2);

Parameters

b1 ByteSize

b2 ByteSize

Returns

ByteSize

ByteSize.operator -(ByteSize) Operator

public static Humanizer.ByteSize operator -(Humanizer.ByteSize b);

Parameters

b ByteSize

Returns

ByteSize