NameValueCollection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- Warisan
- Turunan
- Atribut
Contoh
#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
'
'
Keterangan
Koleksi ini didasarkan pada NameObjectCollectionBase kelas . Setiap elemen koleksi adalah pasangan kunci/nilai. Namun, tidak seperti NameObjectCollectionBase, kelas ini dapat menyimpan beberapa nilai string di bawah satu kunci.
Kelas ini dapat digunakan untuk header, string kueri, dan data formulir.
Koleksi jenis ini tidak mempertahankan urutan elemen, dan tidak ada urutan tertentu yang dijamin saat menghitung koleksi.
Kapasitas a NameValueCollection adalah jumlah elemen yang dapat ditahan NameValueCollection . Saat elemen ditambahkan, kapasitasnya secara otomatis ditingkatkan sesuai kebutuhan melalui realokasi.
Penyedia kode hash mengeluarkan kode hash untuk kunci di NameValueCollection. Penyedia kode hash default adalah CaseInsensitiveHashCodeProvider.
Pembanding menentukan apakah dua kunci sama. Pembanding default adalah CaseInsensitiveComparer yang menggunakan konvensi budaya invarian; yaitu, perbandingan kunci tidak peka huruf besar/kecil secara default. Untuk melakukan perbandingan kunci peka huruf besar/kecil, panggil NameValueCollection.NameValueCollection(IEqualityComparer) konstruktor, dan berikan nilai StringComparer.CurrentCulture, StringComparer.InvariantCulture, atau StringComparer.Ordinal sebagai equalityComparer
argumen . Untuk informasi selengkapnya tentang bagaimana budaya memengaruhi perbandingan dan pengurutan, lihat Melakukan Operasi String Culture-Insensitive.
null
diizinkan sebagai kunci atau sebagai nilai.
Perhatian
Metode Get ini tidak membedakan antara null
yang dikembalikan karena kunci yang ditentukan tidak ditemukan dan null
yang dikembalikan karena nilai yang terkait dengan kunci adalah null
.
Konstruktor
NameValueCollection() |
Menginisialisasi instans baru kelas NameValueCollection yang kosong, memiliki kapasitas awal default dan menggunakan penyedia kode hash default yang tidak peka huruf besar/kecil dan pembanding tidak peka huruf besar/kecil default. |
NameValueCollection(IEqualityComparer) |
Menginisialisasi instans NameValueCollection baru kelas yang kosong, memiliki kapasitas awal default, dan menggunakan objek yang ditentukan IEqualityComparer . |
NameValueCollection(IHashCodeProvider, IComparer) |
Kedaluwarsa.
Kedaluwarsa.
Menginisialisasi instans NameValueCollection baru kelas yang kosong, memiliki kapasitas awal default dan menggunakan penyedia kode hash yang ditentukan dan perbandingan yang ditentukan. |
NameValueCollection(Int32) |
Menginisialisasi instans NameValueCollection baru kelas yang kosong, memiliki kapasitas awal yang ditentukan dan menggunakan penyedia kode hash tidak sensitif huruf besar/kecil default dan pembanding tidak peka huruf besar/kecil default. |
NameValueCollection(Int32, IEqualityComparer) |
Menginisialisasi instans baru kelas NameValueCollection yang kosong, memiliki kapasitas awal yang ditentukan, dan menggunakan objek yang ditentukan IEqualityComparer . |
NameValueCollection(Int32, IHashCodeProvider, IComparer) |
Kedaluwarsa.
Kedaluwarsa.
Menginisialisasi instans NameValueCollection baru kelas yang kosong, memiliki kapasitas awal yang ditentukan dan menggunakan penyedia kode hash yang ditentukan dan pembanding yang ditentukan. |
NameValueCollection(Int32, NameValueCollection) |
Menyalin entri dari yang ditentukan NameValueCollection ke yang baru NameValueCollection dengan kapasitas awal yang ditentukan atau kapasitas awal yang sama dengan jumlah entri yang disalin, mana pun yang lebih besar, dan menggunakan penyedia kode hash default yang tidak peka huruf besar/kecil dan pembanding tidak sensitif huruf besar/kecil default. |
NameValueCollection(NameValueCollection) |
Menyalin entri dari yang ditentukan ke yang baru NameValueCollection dengan kapasitas awal yang sama dengan jumlah entri yang disalin dan menggunakan penyedia kode hash yang sama dan perbandingan NameValueCollection yang sama dengan koleksi sumber. |
NameValueCollection(SerializationInfo, StreamingContext) |
Kedaluwarsa.
Menginisialisasi instans baru kelas NameValueCollection yang dapat diserialisasikan dan menggunakan dan StreamingContextyang ditentukanSerializationInfo. |
Properti
AllKeys |
Mendapatkan semua kunci di NameValueCollection. |
Count |
Mendapatkan jumlah pasangan kunci/nilai yang terkandung dalam NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
IsReadOnly |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah NameObjectCollectionBase instans bersifat baca-saja. (Diperoleh dari NameObjectCollectionBase) |
Item[Int32] |
Mendapatkan entri pada indeks yang ditentukan dari NameValueCollection. |
Item[String] |
Mendapatkan atau mengatur entri dengan kunci yang ditentukan di NameValueCollection. |
Keys |
Mendapatkan instans NameObjectCollectionBase.KeysCollection yang berisi semua kunci dalam NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
Metode
Add(NameValueCollection) |
Menyalin entri dalam yang ditentukan NameValueCollection ke saat ini NameValueCollection. |
Add(String, String) |
Menambahkan entri dengan nama dan nilai yang ditentukan ke NameValueCollection. |
BaseAdd(String, Object) |
Menambahkan entri dengan kunci dan nilai yang ditentukan ke NameObjectCollectionBase dalam instans. (Diperoleh dari NameObjectCollectionBase) |
BaseClear() |
Menghapus semua entri dari NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
BaseGet(Int32) |
Mendapatkan nilai entri pada indeks NameObjectCollectionBase instans yang ditentukan. (Diperoleh dari NameObjectCollectionBase) |
BaseGet(String) |
Mendapatkan nilai entri pertama dengan kunci yang ditentukan dari NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
BaseGetAllKeys() |
Mengembalikan String array yang berisi semua kunci dalam NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
BaseGetAllValues() |
Mengembalikan Object array yang berisi semua nilai dalam NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
BaseGetAllValues(Type) |
Mengembalikan array dari jenis yang ditentukan yang berisi semua nilai dalam NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
BaseGetKey(Int32) |
Mendapatkan kunci entri pada indeks NameObjectCollectionBase instans yang ditentukan. (Diperoleh dari NameObjectCollectionBase) |
BaseHasKeys() |
Mendapatkan nilai yang menunjukkan apakah NameObjectCollectionBase instans berisi entri yang kuncinya bukan |
BaseRemove(String) |
Menghapus entri dengan kunci yang ditentukan dari NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
BaseRemoveAt(Int32) |
Menghapus entri pada indeks NameObjectCollectionBase instans yang ditentukan. (Diperoleh dari NameObjectCollectionBase) |
BaseSet(Int32, Object) |
Mengatur nilai entri pada indeks NameObjectCollectionBase instans yang ditentukan. (Diperoleh dari NameObjectCollectionBase) |
BaseSet(String, Object) |
Mengatur nilai entri pertama dengan kunci yang ditentukan dalam NameObjectCollectionBase instans, jika ditemukan; jika tidak, menambahkan entri dengan kunci dan nilai yang ditentukan ke NameObjectCollectionBase dalam instans. (Diperoleh dari NameObjectCollectionBase) |
Clear() |
Membatalkan array yang di-cache dan menghapus semua entri dari NameValueCollection. |
CopyTo(Array, Int32) |
Menyalin seluruh NameValueCollection ke satu dimensi Arrayyang kompatibel, dimulai dari indeks array target yang ditentukan. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
Get(Int32) |
Mendapatkan nilai pada indeks yang ditentukan dari NameValueCollection gabungan ke dalam satu daftar yang dipisahkan koma. |
Get(String) |
Mendapatkan nilai yang terkait dengan kunci yang ditentukan dari NameValueCollection gabungan menjadi satu daftar yang dipisahkan koma. |
GetEnumerator() |
Mengembalikan enumerator yang berulang melalui NameObjectCollectionBase. (Diperoleh dari NameObjectCollectionBase) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetKey(Int32) |
Mendapatkan kunci pada indeks yang ditentukan dari NameValueCollection. |
GetObjectData(SerializationInfo, StreamingContext) |
Kedaluwarsa.
ISerializable Mengimplementasikan antarmuka dan mengembalikan data yang diperlukan untuk membuat serialisasi NameObjectCollectionBase instans. (Diperoleh dari NameObjectCollectionBase) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
GetValues(Int32) |
Mendapatkan nilai pada indeks yang ditentukan dari NameValueCollection. |
GetValues(String) |
Mendapatkan nilai yang terkait dengan kunci yang ditentukan dari NameValueCollection. |
HasKeys() |
Mendapatkan nilai yang menunjukkan apakah NameValueCollection berisi kunci yang bukan |
InvalidateCachedArrays() |
Mengatur ulang array koleksi yang di-cache ke |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
OnDeserialization(Object) |
ISerializable Mengimplementasikan antarmuka dan meningkatkan peristiwa deserialisasi saat deserialisasi selesai. (Diperoleh dari NameObjectCollectionBase) |
Remove(String) |
Menghapus entri dengan kunci yang ditentukan dari NameObjectCollectionBase instans. |
Set(String, String) |
Mengatur nilai entri di NameValueCollection. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
ICollection.CopyTo(Array, Int32) |
Menyalin seluruh NameObjectCollectionBase ke satu dimensi Arrayyang kompatibel, dimulai dari indeks array target yang ditentukan. (Diperoleh dari NameObjectCollectionBase) |
ICollection.IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke objek disinkronkan NameObjectCollectionBase (utas aman). (Diperoleh dari NameObjectCollectionBase) |
ICollection.SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke NameObjectCollectionBase objek. (Diperoleh dari NameObjectCollectionBase) |
Metode Ekstensi
Cast<TResult>(IEnumerable) |
Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi menjadi IEnumerableIQueryable. |
Berlaku untuk
Keamanan Thread
Anggota statis publik (Shared
dalam Visual Basic) jenis ini aman untuk utas. Setiap anggota instans tidak dijamin aman untuk utas.
Implementasi ini tidak menyediakan pembungkus yang disinkronkan (aman utas) untuk NameValueCollection, tetapi kelas turunan dapat membuat versi yang disinkronkan sendiri dari NameValueCollection menggunakan SyncRoot properti NameObjectCollectionBase kelas .
Menghitung melalui koleksi secara intrinsik bukan prosedur aman utas. Bahkan ketika koleksi disinkronkan, utas lain masih dapat memodifikasi koleksi, yang menyebabkan enumerator melemparkan pengecualian. Untuk menjamin keamanan utas selama enumerasi, Anda dapat mengunci koleksi selama seluruh enumerasi atau menangkap pengecualian yang dihasilkan dari perubahan yang dibuat oleh utas lain.