[C#.NET][VB.NET] 一般集合 - NameValueCollection 集合 類別簡介

  • 23142
  • 0
  • C#
  • 2009-06-11

字串字典,只能使用字串,如果你操作的對象是字串,那這個類別絕對是你的首選,因為它可以省下轉型的動作。

NameValueCollection 特性如下:

1.一個索引鍵(Key)對應到多個內容(Value),不同於StringCollection。

2.用GetValues方法取得的值是陣列型態,所以在處理上要小心。

續上一篇 [C#.NET][VB.NET] 一般 / 泛型 Generic Collection 集合型別介紹

字串字典,只能使用字串,如果你操作的對象是字串,那這個類別絕對是你的首選,因為它可以省下轉型的動作。

NameValueCollection 特性如下:

1.一個索引鍵(Key)對應到多個內容(Value),不同於StringCollection。

2.用GetValues方法取得的值是陣列型態,所以在處理上要小心。

1

3.Key/Value都要是字串

以下範例需要命名空間System.Collections.Specialized

如何使用NameValueCollection

1.引用NameValueCollection類別。

NameValueCollection nvc = new NameValueCollection();

2.加入索引鍵(Key)及內容(Value),索引鍵與內容必須是字串。

nvc.Add("A", "one");

C#完整範例用法如下:


private void button3_Click(object sender, EventArgs e)
{

//1.引用NameValueCollection類別。
NameValueCollection nvc = new NameValueCollection();

//2.加入索引鍵(Key)及內容(Value),索引鍵必須是字串。
nvc.Add("A", "one");
nvc.Add("A", "one-one");
nvc.Add("B", "two");
nvc.Add("C", "three");
nvc.Add("C", "three-one");
nvc.Add("C", "three-two");

//列出物件所包含的索引鍵及內容

foreach (string k in nvc.Keys)
{
Console.WriteLine("Key:{0}", k);

//因為GetValues方法所取得的是字串陣列,所以就利用String.Join方法來處理
Console.WriteLine("\tValues:" + string.Join(",", nvc.GetValues(k))); 
 
}
}

VB完整範例用法如下:

Private Sub button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button3.Click
            
'1.引用NameValueCollection類別
Dim nvc As NameValueCollection = New NameValueCollection()
'
            2.加入索引鍵(Key)及內容(Value),索引鍵必須是字串。
nvc.Add("A", "one")
nvc.Add("A", "one-one")
nvc.Add("B", "two")
nvc.Add("C", "three")
nvc.Add("C", "three-one")
nvc.Add("C", "three-two")
            
'列出物件所包含的索引鍵及內容
For Each k As String In nvc.Keys
Console.WriteLine("Key:{0}", k)
'
            因為GetValues方法所取得的是字串陣列,所以就利用String.Join方法來處理
Console.WriteLine(vbTab + "Values:" + String.Join(",", nvc.GetValues(k)))
Next
End Sub

範例下載: [C#.NET][VB.NET]StringCollection.rar

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo