NameValueCollection Sınıf

Tanım

Anahtarla veya dizinle erişilebilen ilişkili String anahtarlardan ve String değerlerden oluşan bir koleksiyonu temsil eder.

public ref class NameValueCollection : System::Collections::Specialized::NameObjectCollectionBase
public class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase
[System.Serializable]
public class NameValueCollection : System.Collections.Specialized.NameObjectCollectionBase
type NameValueCollection = class
    inherit NameObjectCollectionBase
[<System.Serializable>]
type NameValueCollection = class
    inherit NameObjectCollectionBase
Public Class NameValueCollection
Inherits NameObjectCollectionBase
Devralma
NameValueCollection
Türetilmiş
Öznitelikler

Örnekler

#using <System.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;

void PrintKeysAndValues( NameValueCollection^ myCol );
void PrintKeysAndValues2( NameValueCollection^ myCol );

int main()
{
   // Creates and initializes a new NameValueCollection.
   NameValueCollection^ myCol = gcnew NameValueCollection;
   myCol->Add( "red", "rojo" );
   myCol->Add( "green", "verde" );
   myCol->Add( "blue", "azul" );
   myCol->Add( "red", "rouge" );

   // Displays the values in the NameValueCollection in two different ways.
   Console::WriteLine( "Displays the elements using the AllKeys property and the Item (indexer) property:" );
   PrintKeysAndValues( myCol );
   Console::WriteLine( "Displays the elements using GetKey and Get:" );
   PrintKeysAndValues2( myCol );

   // Gets a value either by index or by key.
   Console::WriteLine( "Index 1 contains the value {0}.", myCol[ 1 ] );
   Console::WriteLine( "Key \"red\" has the value {0}.", myCol[ "red" ] );
   Console::WriteLine();

   // Copies the values to a string array and displays the string array.
   array<String^>^myStrArr = gcnew array<String^>(myCol->Count);
   myCol->CopyTo( myStrArr, 0 );
   Console::WriteLine( "The string array contains:" );
   for each ( String^ s in myStrArr )
      Console::WriteLine( "   {0}", s );
   Console::WriteLine();

   // Searches for a key and deletes it.
   myCol->Remove( "green" );
   Console::WriteLine( "The collection contains the following elements after removing \"green\":" );
   PrintKeysAndValues( myCol );

   // Clears the entire collection.
   myCol->Clear();
   Console::WriteLine( "The collection contains the following elements after it is cleared:" );
   PrintKeysAndValues( myCol );
}

void PrintKeysAndValues( NameValueCollection^ myCol )
{
   Console::WriteLine( "   KEY        VALUE" );
   for each ( String^ s in myCol->AllKeys )
      Console::WriteLine( "   {0,-10} {1}", s, myCol[s] );
   Console::WriteLine();
}

void PrintKeysAndValues2( NameValueCollection^ myCol )
{
   Console::WriteLine( "   [INDEX] KEY        VALUE" );
   for ( int i = 0; i < myCol->Count; i++ )
      Console::WriteLine( "   [{0}]     {1,-10} {2}", i, myCol->GetKey( i ), myCol->Get( i ) );
   Console::WriteLine();
}

/*

This code produces the following output.

Displays the elements using the AllKeys property and the Item (indexer) property:
   KEY        VALUE
   red        rojo,rouge
   green      verde
   blue       azul

Displays the elements using GetKey and Get:
   [INDEX] KEY        VALUE
   [0]     red        rojo,rouge
   [1]     green      verde
   [2]     blue       azul

Index 1 contains the value verde.
Key "red" has the value rojo,rouge.

The string array contains:
   rojo,rouge
   verde
   azul

The collection contains the following elements after removing "green":
   KEY        VALUE
   red        rojo,rouge
   blue       azul

The collection contains the following elements after it is cleared:
   KEY        VALUE


*/
using System;
using System.Collections;
using System.Collections.Specialized;

public class SamplesNameValueCollection  {

   public static void Main()  {

      // Creates and initializes a new NameValueCollection.
      NameValueCollection myCol = new NameValueCollection();
      myCol.Add( "red", "rojo" );
      myCol.Add( "green", "verde" );
      myCol.Add( "blue", "azul" );
      myCol.Add( "red", "rouge" );

      // Displays the values in the NameValueCollection in two different ways.
      Console.WriteLine( "Displays the elements using the AllKeys property and the Item (indexer) property:" );
      PrintKeysAndValues( myCol );
      Console.WriteLine( "Displays the elements using GetKey and Get:" );
      PrintKeysAndValues2( myCol );

      // Gets a value either by index or by key.
      Console.WriteLine( "Index 1 contains the value {0}.", myCol[1] );
      Console.WriteLine( "Key \"red\" has the value {0}.", myCol["red"] );
      Console.WriteLine();

      // Copies the values to a string array and displays the string array.
      String[] myStrArr = new String[myCol.Count];
      myCol.CopyTo( myStrArr, 0 );
      Console.WriteLine( "The string array contains:" );
      foreach ( String s in myStrArr )
         Console.WriteLine( "   {0}", s );
      Console.WriteLine();

      // Searches for a key and deletes it.
      myCol.Remove( "green" );
      Console.WriteLine( "The collection contains the following elements after removing \"green\":" );
      PrintKeysAndValues( myCol );

      // Clears the entire collection.
      myCol.Clear();
      Console.WriteLine( "The collection contains the following elements after it is cleared:" );
      PrintKeysAndValues( myCol );
   }

   public static void PrintKeysAndValues( NameValueCollection myCol )  {
      Console.WriteLine( "   KEY        VALUE" );
      foreach ( String s in myCol.AllKeys )
         Console.WriteLine( "   {0,-10} {1}", s, myCol[s] );
      Console.WriteLine();
   }

   public static void PrintKeysAndValues2( NameValueCollection myCol )  {
      Console.WriteLine( "   [INDEX] KEY        VALUE" );
      for ( int i = 0; i < myCol.Count; i++ )
         Console.WriteLine( "   [{0}]     {1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i) );
      Console.WriteLine();
   }
}

/*

This code produces the following output.

Displays the elements using the AllKeys property and the Item (indexer) property:
   KEY        VALUE
   red        rojo,rouge
   green      verde
   blue       azul

Displays the elements using GetKey and Get:
   [INDEX] KEY        VALUE
   [0]     red        rojo,rouge
   [1]     green      verde
   [2]     blue       azul

Index 1 contains the value verde.
Key "red" has the value rojo,rouge.

The string array contains:
   rojo,rouge
   verde
   azul

The collection contains the following elements after removing "green":
   KEY        VALUE
   red        rojo,rouge
   blue       azul

The collection contains the following elements after it is cleared:
   KEY        VALUE


*/
' The following code example demonstrates several of the properties and methods of ListDictionary.

Imports System.Collections
Imports System.Collections.Specialized


Public Class SamplesNameValueCollection

    Public Shared Sub Main()

        ' Creates and initializes a new NameValueCollection.
        Dim myCol As New NameValueCollection()
        myCol.Add("red", "rojo")
        myCol.Add("green", "verde")
        myCol.Add("blue", "azul")
        myCol.Add("red", "rouge")

        ' Displays the values in the NameValueCollection in two different ways.
        Console.WriteLine("Displays the elements using the AllKeys property and the Item (indexer) property:")
        PrintKeysAndValues(myCol)
        Console.WriteLine("Displays the elements using GetKey and Get:")
        PrintKeysAndValues2(myCol)

        ' Gets a value either by index or by key.
        Console.WriteLine("Index 1 contains the value {0}.", myCol(1))
        Console.WriteLine("Key ""red"" has the value {0}.", myCol("red"))
        Console.WriteLine()

        ' Copies the values to a string array and displays the string array.
        Dim myStrArr(myCol.Count) As String
        myCol.CopyTo(myStrArr, 0)
        Console.WriteLine("The string array contains:")
        Dim s As String
        For Each s In myStrArr
            Console.WriteLine("   {0}", s)
        Next s
        Console.WriteLine()

        ' Searches for a key and deletes it.
        myCol.Remove("green")
        Console.WriteLine("The collection contains the following elements after removing ""green"":")
        PrintKeysAndValues(myCol)

        ' Clears the entire collection.
        myCol.Clear()
        Console.WriteLine("The collection contains the following elements after it is cleared:")
        PrintKeysAndValues(myCol)

    End Sub

    Public Shared Sub PrintKeysAndValues(myCol As NameValueCollection)
        Console.WriteLine("   KEY        VALUE")
        Dim s As String
        For Each s In  myCol.AllKeys
            Console.WriteLine("   {0,-10} {1}", s, myCol(s))
        Next s
        Console.WriteLine()
    End Sub

    Public Shared Sub PrintKeysAndValues2(myCol As NameValueCollection)
        Console.WriteLine("   [INDEX] KEY        VALUE")
        Dim i As Integer
        For i = 0 To myCol.Count - 1
            Console.WriteLine("   [{0}]     {1,-10} {2}", i, myCol.GetKey(i), myCol.Get(i))
        Next i
        Console.WriteLine()
    End Sub

End Class


'This code produces the following output.
'
'Displays the elements using the AllKeys property and the Item (indexer) property:
'   KEY        VALUE
'   red        rojo,rouge
'   green      verde
'   blue       azul
'
'Displays the elements using GetKey and Get:
'   [INDEX] KEY        VALUE
'   [0]     red        rojo,rouge
'   [1]     green      verde
'   [2]     blue       azul
'
'Index 1 contains the value verde.
'Key "red" has the value rojo,rouge.
'
'The string array contains:
'   red
'   green
'   blue
'
'
'The collection contains the following elements after removing "green":
'   KEY        VALUE
'   red        rojo,rouge
'   blue       azul
'
'The collection contains the following elements after it is cleared:
'   KEY        VALUE
'
'

Açıklamalar

Bu koleksiyon sınıfını NameObjectCollectionBase temel alır. Koleksiyonun her öğesi bir anahtar/değer çiftidir. Ancak, değerinden NameObjectCollectionBasefarklı olarak, bu sınıf tek bir anahtar altında birden çok dize değeri depolayabilir.

Bu sınıf üst bilgiler, sorgu dizeleri ve form verileri için kullanılabilir.

Bu tür koleksiyonlar öğelerin sıralamasını korumaz ve koleksiyon numaralandırılırken belirli bir sıralama garanti edilmez.

bir NameValueCollection öğesinin kapasitesi, barındırabileceği öğelerin NameValueCollection sayısıdır. Öğeler eklendikçe, yeniden yerleştirme işlemiyle kapasite gerektiği gibi otomatik olarak artırılır.

Karma kod sağlayıcısı içindeki anahtarlar NameValueCollectioniçin karma kodları dağıtır. Varsayılan karma kod sağlayıcısı şeklindedir CaseInsensitiveHashCodeProvider.

Karşılaştırıcı, iki anahtarın eşit olup olmadığını belirler. Varsayılan karşılaştırıcı, sabit kültürün kurallarını kullanan bir CaseInsensitiveComparer değerdir; yani anahtar karşılaştırmaları varsayılan olarak büyük/küçük harfe duyarlı değildir. Büyük/küçük harfe duyarlı anahtar karşılaştırmaları yapmak için oluşturucuyu çağırın NameValueCollection.NameValueCollection(IEqualityComparer) ve bağımsız değişken olarak equalityComparer , StringComparer.InvariantCultureveya StringComparer.Ordinal değerini StringComparer.CurrentCulturesağlayın. Kültürün karşılaştırmaları ve sıralamayı nasıl etkilediği hakkında daha fazla bilgi için bkz. Culture-Insensitive Dize İşlemleri Gerçekleştirme.

null anahtar veya değer olarak izin verilir.

Dikkat

yöntemi, Get belirtilen anahtar bulunamadığından döndürülen ile null anahtarla ilişkili değer olduğundan döndürülen arasında nullayrım null yapmaz.

Oluşturucular

NameValueCollection()

Sınıfın NameValueCollection boş, varsayılan başlangıç kapasitesine sahip yeni bir örneğini başlatır ve varsayılan büyük/küçük harfe duyarlı olmayan karma kod sağlayıcısını ve varsayılan büyük/küçük harfe duyarlı olmayan karşılaştırıcıyı kullanır.

NameValueCollection(IEqualityComparer)

Boş olan, varsayılan başlangıç kapasitesine NameValueCollection sahip olan ve belirtilen IEqualityComparer nesneyi kullanan sınıfın yeni bir örneğini başlatır.

NameValueCollection(IHashCodeProvider, IComparer)
Geçersiz.
Geçersiz.

Sınıfın NameValueCollection boş, varsayılan başlangıç kapasitesine sahip yeni bir örneğini başlatır ve belirtilen karma kod sağlayıcısını ve belirtilen karşılaştırıcıyı kullanır.

NameValueCollection(Int32)

Sınıfın NameValueCollection boş, belirtilen başlangıç kapasitesine sahip yeni bir örneğini başlatır ve varsayılan büyük/küçük harfe duyarlı olmayan karma kod sağlayıcısını ve varsayılan büyük/küçük harfe duyarlı olmayan karşılaştırıcıyı kullanır.

NameValueCollection(Int32, IEqualityComparer)

Boş olan, belirtilen ilk kapasiteye NameValueCollection sahip olan ve belirtilen IEqualityComparer nesneyi kullanan sınıfın yeni bir örneğini başlatır.

NameValueCollection(Int32, IHashCodeProvider, IComparer)
Geçersiz.
Geçersiz.

Sınıfın NameValueCollection boş, belirtilen ilk kapasiteye sahip yeni bir örneğini başlatır ve belirtilen karma kod sağlayıcısını ve belirtilen karşılaştırıcıyı kullanır.

NameValueCollection(Int32, NameValueCollection)

Belirtilen girdileri belirtilen NameValueCollection ilk kapasiteye veya kopyalanan girdi sayısıyla aynı ilk kapasiteye (hangisi daha büyükse) ve varsayılan büyük/küçük harfe duyarlı olmayan karma kod sağlayıcısını ve varsayılan büyük/küçük harfe duyarsız karşılaştırıcıyı kullanarak yeni NameValueCollection bir girişe kopyalar.

NameValueCollection(NameValueCollection)

Belirtilen NameValueCollection girdileri, kopyalanan girdi sayısıyla aynı başlangıç kapasitesine sahip ve aynı karma kod sağlayıcısını ve kaynak koleksiyonla aynı karşılaştırıcıyı kullanan yeni NameValueCollection bir girişe kopyalar.

NameValueCollection(SerializationInfo, StreamingContext)
Geçersiz.

sınıfının serileştirilebilir ve belirtilen SerializationInfo ve StreamingContextkullanan yeni bir örneğini NameValueCollection başlatır.

Özellikler

AllKeys

içindeki NameValueCollectiontüm anahtarları alır.

Count

Örnekte bulunan anahtar/değer çiftlerinin NameObjectCollectionBase sayısını alır.

(Devralındığı yer: NameObjectCollectionBase)
IsReadOnly

Örneğin salt okunur olup olmadığını NameObjectCollectionBase belirten bir değer alır veya ayarlar.

(Devralındığı yer: NameObjectCollectionBase)
Item[Int32]

girdisini belirtilen dizininde NameValueCollectionalır.

Item[String]

girdisini içinde belirtilen anahtarla NameValueCollectionalır veya ayarlar.

Keys

Örnekteki tüm anahtarları NameObjectCollectionBase içeren bir NameObjectCollectionBase.KeysCollection örneği alır.

(Devralındığı yer: NameObjectCollectionBase)

Yöntemler

Add(NameValueCollection)

Belirtilen NameValueCollection içindeki girdileri geçerli NameValueCollectionöğesine kopyalar.

Add(String, String)

öğesine belirtilen ada ve değere NameValueCollectionsahip bir girdi ekler.

BaseAdd(String, Object)

Örneğe belirtilen anahtar ve değere NameObjectCollectionBase sahip bir girdi ekler.

(Devralındığı yer: NameObjectCollectionBase)
BaseClear()

Örnekteki NameObjectCollectionBase tüm girdileri kaldırır.

(Devralındığı yer: NameObjectCollectionBase)
BaseGet(Int32)

Örneğin belirtilen dizinindeki girdinin NameObjectCollectionBase değerini alır.

(Devralındığı yer: NameObjectCollectionBase)
BaseGet(String)

Örnekten belirtilen anahtara sahip ilk girdinin NameObjectCollectionBase değerini alır.

(Devralındığı yer: NameObjectCollectionBase)
BaseGetAllKeys()

Örnekteki tüm anahtarları NameObjectCollectionBase içeren bir String dizi döndürür.

(Devralındığı yer: NameObjectCollectionBase)
BaseGetAllValues()

Örnekteki tüm değerleri NameObjectCollectionBase içeren bir Object dizi döndürür.

(Devralındığı yer: NameObjectCollectionBase)
BaseGetAllValues(Type)

Örnekteki tüm değerleri NameObjectCollectionBase içeren belirtilen türde bir dizi döndürür.

(Devralındığı yer: NameObjectCollectionBase)
BaseGetKey(Int32)

Örneğin belirtilen dizinindeki girdinin NameObjectCollectionBase anahtarını alır.

(Devralındığı yer: NameObjectCollectionBase)
BaseHasKeys()

Örneğin anahtarları olmayan nullgirdiler içerip içermediğini NameObjectCollectionBase belirten bir değer alır.

(Devralındığı yer: NameObjectCollectionBase)
BaseRemove(String)

Belirtilen anahtara sahip girişleri örnekten NameObjectCollectionBase kaldırır.

(Devralındığı yer: NameObjectCollectionBase)
BaseRemoveAt(Int32)

Örneğin belirtilen dizinindeki girdiyi NameObjectCollectionBase kaldırır.

(Devralındığı yer: NameObjectCollectionBase)
BaseSet(Int32, Object)

Girdinin değerini örneğin belirtilen dizininde NameObjectCollectionBase ayarlar.

(Devralındığı yer: NameObjectCollectionBase)
BaseSet(String, Object)

Örnekte belirtilen anahtara NameObjectCollectionBase sahip ilk girdinin değerini ayarlar( bulunursa), aksi takdirde örneğe NameObjectCollectionBase belirtilen anahtar ve değere sahip bir girdi ekler.

(Devralındığı yer: NameObjectCollectionBase)
Clear()

Önbelleğe alınan dizileri geçersiz kılın ve öğesinden NameValueCollectiontüm girdileri kaldırır.

CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını NameValueCollection uyumlu bir tek boyutlu Arrayöğesine kopyalar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Get(Int32)

Belirtilen dizinindeki NameValueCollection değerleri virgülle ayrılmış bir listede birleştirir.

Get(String)

Belirtilen anahtarla NameValueCollection ilişkilendirilmiş değerleri virgülle ayrılmış bir listeden alır.

GetEnumerator()

aracılığıyla NameObjectCollectionBaseyineleyen bir numaralandırıcı döndürür.

(Devralındığı yer: NameObjectCollectionBase)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetKey(Int32)

anahtarını belirtilen dizininde NameValueCollectionalır.

GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.

Arabirimini ISerializable uygular ve örneği seri hale NameObjectCollectionBase getirmek için gereken verileri döndürür.

(Devralındığı yer: NameObjectCollectionBase)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
GetValues(Int32)

belirtilen dizinindeki NameValueCollectiondeğerleri alır.

GetValues(String)

belirtilen anahtarla ilişkili değerleri içinden NameValueCollectionalır.

HasKeys()

olmayan anahtarların nullbulunup bulunmadığına NameValueCollection ilişkin bir değer alır.

InvalidateCachedArrays()

Koleksiyonun önbelleğe alınmış dizilerini olarak nullsıfırlar.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnDeserialization(Object)

Arabirimini ISerializable uygular ve seri durumdan çıkarma işlemi tamamlandığında seri durumdan çıkarma olayını başlatır.

(Devralındığı yer: NameObjectCollectionBase)
Remove(String)

Belirtilen anahtara sahip girişleri örnekten NameObjectCollectionBase kaldırır.

Set(String, String)

içindeki NameValueCollectionbir girdinin değerini ayarlar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını NameObjectCollectionBase uyumlu bir tek boyutlu Arrayöğesine kopyalar.

(Devralındığı yer: NameObjectCollectionBase)
ICollection.IsSynchronized

Nesneye erişimin NameObjectCollectionBase eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

(Devralındığı yer: NameObjectCollectionBase)
ICollection.SyncRoot

Nesneye erişimi NameObjectCollectionBase eşitlemek için kullanılabilecek bir nesne alır.

(Devralındığı yer: NameObjectCollectionBase)

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu türün genel statik (Shared Visual Basic'te) üyeleri iş parçacığı güvenlidir. Örnek üyelerin iş parçacığı güvenli olmaları garanti edilmez.

Bu uygulama, için NameValueCollectioneşitlenmiş (iş parçacığı güvenli) sarmalayıcı sağlamaz, ancak türetilmiş sınıflar sınıfının özelliğini NameObjectCollectionBase kullanarak SyncRoot kendi eşitlenmiş sürümlerini NameValueCollection oluşturabilir.

Bir koleksiyonda numaralandırmak, doğası gereği iş parçacığı güvenli bir yordam değildir. Bir koleksiyon eşitlendiği zaman bile, diğer iş parçacıkları numaralandırıcının özel durum oluşturmasına neden olan koleksiyonu değiştirebilir. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.

Ayrıca bkz.