Share via


NameValueCollection クラス

関連付けられた String キーおよび String 値を並べ替えたコレクションを表します。これらのキーおよび値には、キーまたはインデックスのいずれかを使用してアクセスできます。

この型のすべてのメンバの一覧については、NameValueCollection メンバ を参照してください。

System.Object
   System.Collections.Specialized.NameObjectCollectionBase
      System.Collections.Specialized.NameValueCollection
         System.Net.WebHeaderCollection
         System.Web.HttpClientCertificate

<Serializable>
Public Class NameValueCollection   Inherits NameObjectCollectionBase
[C#]
[Serializable]
public class NameValueCollection : NameObjectCollectionBase
[C++]
[Serializable]
public __gc class NameValueCollection : public   NameObjectCollectionBase
[JScript]
public
   Serializable
class NameValueCollection extends NameObjectCollectionBase

スレッドセーフ

この型の public static (Visual Basic では Shared) メンバは、マルチスレッド操作に対して安全です。インスタンス メンバがスレッド セーフになるかどうかは保証されていません。

この実装は、 NameValueCollection 用の同期された (スレッド セーフな) ラッパーは提供しませんが、派生クラスでは、 NameObjectCollectionBase クラスの SyncRoot プロパティを使用して、同期した NameValueCollection を独自に作成できます。

コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。コレクションが同期されている場合でも、他のスレッドがそのコレクションを変更する可能性はあり、そのような状況が発生すると列挙子は例外をスローします。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。

解説

このコレクションは NameObjectCollectionBase クラスに基づいています。ただし、 NameObjectCollectionBase とは異なり、このクラスには 1 つのキーに複数の文字列値を格納します。

このクラスは、ヘッダー、クエリ文字列、およびフォーム データに使用できます。

容量は、 NameValueCollection が格納できるキーと値の組み合わせの数になります。既定の初期量は 0 です。この容量は必要に応じて自動的に増加します。

ハッシュ コード プロバイダは、 NameValueCollection 内のキーにハッシュ コードを提供します。既定のハッシュ コード プロバイダは CaseInsensitiveHashCodeProvider です。

比較演算子は 2 つのキーが等しいかどうかを判断します。既定の比較演算子は CaseInsensitiveComparer です。

.NET Framework Version 1.0 の場合、このクラスはカルチャに依存した文字列比較を使用します。ただし、.NET Framework Version 1.1 以降の場合、このクラスは文字列を比較するときに CultureInfo.InvariantCulture を使用します。カルチャが比較と並べ替えに与える影響の詳細については、「 固有カルチャのデータの比較と並べ替え 」および「 カルチャを認識しない文字列操作の実行 」を参照してください。

必要条件

名前空間: System.Collections.Specialized

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System (System.dll 内)

参照

NameValueCollection メンバ | System.Collections.Specialized 名前空間 | NameObjectCollectionBase | カルチャを認識しない文字列操作の実行