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
HttpQualityHeaderValueinstance if the parse was successful, ornullotherwise.
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"