我想有一個ArrayList它包含HashTables。我創建了一個Hashtable並添加了值。然後我將它添加到ArrayList。然後我改變了哈希表的值,並再次添加了數組列表。它不會保存第一個值並結束與上一個值完全相同的重複值!C#中的哈希表ArrayList#
有什麼建議嗎?這裏是我的代碼
namespace ValuesTest
{
internal class Class1
{
public static ArrayList StartList = new ArrayList();
public static Hashtable Start = new Hashtable();
static void Main(string[] args)
{
Start["active"] = true;
Start["name"] = "prog1";
Start["path"] = @"C:\programfiles\prog1";
Start["parameter"] = string.Empty;
StartList.Add(Start);
Start["active"] = false;
Start["name"] = "prog2";
Start["path"] = @"C:\programfiles\prog2";
Start["parameter"] = "/q";
StartList.Add(Start);
foreach (Hashtable HT in StartList)
{
Console.WriteLine(HT["active"] + " - " + HT["name"] + " - " + HT["path"] + " - " + HT["parameter"]);
// it will always gives
// False - prog2 - C:\programfiles\prog2 - /q
}
Console.ReadLine();
}
}
}
我所看到的最近有很多ArrayList的。相反,除非您使用.Net框架1/1.1,否則應該使用列表。列表將提供更好的性能並避免投射(這種'foreach'確實隱含在您的案例中)。問候 –
2010-08-05 12:21:16
您不會創建一個新的Hashtable實例,而是覆蓋這些值。 P.S.:如果您期待答案,在主題中使用多個感嘆號並不會有幫助:p – 2010-08-05 12:21:33
但是,人們應該對問題投票,而不是語法。 – 2010-08-05 12:28:54