HttpQualityHeaderValue Class

System.Net.Http.Headers

Summary

Represents an HTTP quality value. HTTP quality values are used in the Accept, Accept-Charset, Accept-Encoding, Accept-Language, and Transfer-Encoding headers.

Constructors

HttpQualityHeaderValue(string str) HttpQualityHeaderValue(string str)

Initializes a new instance of the HttpQualityHeaderValue class with a string representation of the quality value.

Parameters:
  • str: The string representation of the quality value.
HttpQualityHeaderValue(double quality) HttpQualityHeaderValue(double quality)

Initializes a new instance of the HttpQualityHeaderValue class with a specified quality value.

Parameters:
  • quality: The quality value, ranging from 0.0 to 1.0.

Properties

Parameters ICollection<KeyValuePair<string, string>> Parameters { get; }

Gets the parameters for the quality value.

Quality double? Quality { get; }

Gets the quality value, which is a number between 0.0 and 1.0.

Remarks: If no quality value is specified, this property returns null.

Methods

Parse(string input) static HttpQualityHeaderValue Parse(string input)

Parses a string into an HttpQualityHeaderValue instance.

Parameters:
  • input: The string to parse.
Returns: An HttpQualityHeaderValue instance.
Remarks: This method throws an FormatException if the string is not a valid quality value.
TryParse(string input, out HttpQualityHeaderValue result) static bool TryParse(string input, out HttpQualityHeaderValue result)

Attempts to parse a string into an HttpQualityHeaderValue instance.

Parameters:
  • input: The string to parse.
  • result: When this method returns, contains the parsed HttpQualityHeaderValue instance if the parse was successful, or null otherwise.
Returns: true if the string was parsed successfully; otherwise, false.
ToString() string ToString()

Returns the string representation of the quality value.

Returns: The string representation of the quality value.

Examples

Creating a Quality Header

You can create an HttpQualityHeaderValue to represent different quality levels:

using System.Net.Http.Headers;

// Represents q=0.5
var quality1 = new HttpQualityHeaderValue(0.5);

// Represents q=1.0 (default if not specified)
var quality2 = new HttpQualityHeaderValue(1.0);

// Represents q=0.8; extension="example"
var quality3 = new HttpQualityHeaderValue(0.8);
quality3.Parameters.Add(new KeyValuePair<string, string>("extension", "example"));

Console.WriteLine(quality1.ToString()); // Output: 0.5
Console.WriteLine(quality2.ToString()); // Output: 1.0
Console.WriteLine(quality3.ToString()); // Output: 0.8; extension="example"