NameValueCollection Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- 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 null
ayrı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 |
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 |
InvalidateCachedArrays() |
Koleksiyonun önbelleğe alınmış dizilerini olarak |
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.