BinarySizeParse(ReadOnlySpanChar, IFormatProvider) Method

Parses a span of characters into a BinarySize structure.

Definition

Namespace: Ookii
Assembly: Ookii.BinarySize (in Ookii.BinarySize.dll) Version: 1.2.0+20f0bdf981c7baf115c68ccab612b1a031efcb4d
C#
public static BinarySize Parse(
	ReadOnlySpan<char> s,
	IFormatProvider? provider
)

Parameters

s  ReadOnlySpanChar
The span of characters to parse.
provider  IFormatProvider
An object that provides culture-specific formatting information about s.

Return Value

BinarySize
The result of parsing s.

Implements

ISpanParsableTSelfParse(ReadOnlySpanChar, IFormatProvider)

Remarks

The input must contain a number, followed by one of the following units: "B", "KB", "KiB", "MB", "MiB", "GB", "GiB", "TB", "TiB", "PB", "PiB", "EB", or "EiB". The "B" may be omitted, and any surrounding whitespace is ignored.

The units listed above are the default, invariant units based on the English language. You can parse localized units by using the BinaryUnitInfo class with the provider parameter, either directly or together with a CultureInfo object through the CultureInfoExtensionsWithBinaryUnitInfo(CultureInfo, BinaryUnitInfo) method.

The case of the units in s is ignored by default. Use the BinaryUnitInfoCompareOptions property to customize how units are matched.

This method uses the definition that "1 KB" == 1024 bytes, identical to "1 KiB", and "1 MB" == "1 MiB" == 1048576 bytes, and so on. To use the IEC standard where SI prefixes are treated as powers of ten, use the Parse(ReadOnlySpanChar, BinarySizeOptions, NumberStyles, IFormatProvider) method.

Exceptions

FormatExceptions is not in the correct format.
OverflowExceptions is not representable as a BinarySize.

See Also