Skip to main content
HttpLanguageRangeWithQualityHeaderValueCollection class

Represents the value of the Accept-Language HTTP header on an HTTP request.


var httpLanguageRangeWithQualityHeaderValueCollection = acceptLanguage;

public sealed class HttpLanguageRangeWithQualityHeaderValueCollection : IList<HttpLanguageRangeWithQualityHeaderValue>,

Public NotInheritable Class HttpLanguageRangeWithQualityHeaderValueCollection
    Implements IList(Of HttpLanguageRangeWithQualityHeaderValue), _
    IEnumerable(Of HttpLanguageRangeWithQualityHeaderValue), _

public ref class HttpLanguageRangeWithQualityHeaderValueCollection sealed : IVector<HttpLanguageRangeWithQualityHeaderValue>,


The HttpLanguageRangeWithQualityHeaderValueCollection class has these types of members:


The HttpLanguageRangeWithQualityHeaderValueCollection class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.

Add [C#, VB]Adds a new item to the end of the collection.
Append [C++, JavaScript]Adds a new HttpLanguageRangeWithQualityHeaderValue item to the end of the collection.
Clear Removes all objects from the collection.
Contains [C#, VB]Determines whether an element is in the collection.
CopyTo [C#, VB]Copies the elements of the collection to an array, starting at a particular array index in the destination array.
First [C++, JavaScript]Retrieves an iterator to the first HttpLanguageRangeWithQualityHeaderValue item in the collection.
GetAt [C++, JavaScript]Returns the HttpLanguageRangeWithQualityHeaderValue at the specified index in the collection.
GetMany [C++, JavaScript]Retrieves the HttpLanguageRangeWithQualityHeaderValue items that start at the specified index in the collection.
GetView [C++, JavaScript]Returns an immutable view of the HttpLanguageRangeWithQualityHeaderValueCollection.
IndexOf [C++, JavaScript]Retrieves the index of an HttpLanguageRangeWithQualityHeaderValue in the collection.
IndexOf [C#, VB]Determines the index of a specific item in the collection.
Insert [C#, VB]Inserts an item into the collection at the specified index.
InsertAt [C++, JavaScript]Inserts an HttpLanguageRangeWithQualityHeaderValue into the collection at the specified index.
ParseAdd Parses and adds an entry to the HttpLanguageRangeWithQualityHeaderValueCollection.
Remove [C#, VB]Removes a specific object from the collection.
RemoveAt [C++, JavaScript]Removes the entry at the specified index from the HttpLanguageRangeWithQualityHeaderValueCollection.
RemoveAt [C#, VB]Removes the element at the specified index of the collection.
RemoveAtEnd [C++, JavaScript]Removes the last HttpLanguageRangeWithQualityHeaderValue item from the collection.
ReplaceAll [C++, JavaScript]Replaces all the HttpLanguageRangeWithQualityHeaderValue items in the collection with the specified HttpLanguageRangeWithQualityHeaderValue items.
SetAt [C++, JavaScript]Sets the HttpLanguageRangeWithQualityHeaderValue at the specified index in the collection.
ToString Returns a string that represents the current HttpLanguageRangeWithQualityHeaderValueCollection object.
TryParseAdd Tries to parse and add the specified item to the HttpLanguageRangeWithQualityHeaderValueCollection.



The HttpLanguageRangeWithQualityHeaderValueCollection class has these properties.

PropertyAccess typeDescription

Count [C#, VB]

Read-onlyGets the number of elements that are contained in the collection.

IsReadOnly [C#, VB]

Read-onlyGets a value indicating whether the collection is read-only.

Item [C#, VB]

Read/writeGets or sets the element at the specified index.

Size [C++, JavaScript]

Read-onlyGets the number of HttpLanguageRangeWithQualityHeaderValue objects in the collection.



The HttpLanguageRangeWithQualityHeaderValueCollection class represents the value of the Accept-Language HTTP header on an HTTP request.

The HttpLanguageRangeWithQualityHeaderValueCollection provides a collection container for instances of the HttpLanguageRangeWithQualityHeaderValue class used for accept language information in the Accept-Language HTTP header.

The AcceptLanguage property on the HttpRequestHeaderCollection returns an HttpLanguageRangeWithQualityHeaderValueCollection object.


The following sample code shows a method to get and set the Accept-Language HTTP header on an HttpRequestMessage object using the properties and methods on the HttpLanguageRangeWithQualityHeaderValueCollection and HttpLanguageRangeWithQualityHeaderValue classes.

using System;
using Windows.Web.Http;
using Windows.Web.Http.Headers;

        public void DemonstrateHeaderRequestAcceptLanguage() {
            var request = new HttpRequestMessage();
            bool parsedOk = false;

            // Set the header with a string.
            parsedOk = request.Headers.AcceptLanguage.TryParseAdd("da");
            parsedOk = request.Headers.AcceptLanguage.TryParseAdd("en-gb;q=0.8");

            // Set the header with a strong type.
            request.Headers.AcceptLanguage.Add(new HttpLanguageRangeWithQualityHeaderValue("en", .7));

            // Get the strong type out
            foreach (var value in request.Headers.AcceptLanguage) {
                System.Diagnostics.Debug.WriteLine("One of the AcceptLanguage values: {0}={1}", value.LanguageRange, value.Quality);

            // The ToString() is useful for diagnostics, too.
            System.Diagnostics.Debug.WriteLine("The AcceptLanguage ToString() results: {0}", request.Headers.AcceptLanguage.ToString());

Requirements (Windows 10 device family)

Device family


API contract

Windows.Foundation.UniversalApiContract, introduced version 1.0


Windows::Web::Http::Headers [C++]



Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8.1 [Windows Store apps, desktop apps]

Minimum supported server

Windows Server 2012 R2 [Windows Store apps, desktop apps]

Minimum supported phone

Windows Phone 8.1 [Windows Phone Silverlight 8.1 and Windows Runtime apps]


Windows::Web::Http::Headers [C++]




[ DualApiPartition()]
[ MarshalingBehavior(Agile)]
[ Threading(Both)]
[ Version(0x06030000)]

See also