Я хочу иметь ArrayList, где он содержит HashTables. Я создаю Hashtable и добавленные значения. Затем я добавил его в ArrayList. Затем я изменил значения Hashtables и снова добавил список массивов. Он не сохраняет первые значения и заканчивает дублирование значений, которые были точно такими же, как и последние значения!ArrayList из Hashtables в C#
Любые предложения? Вот мой код
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. Вместо этого вы должны использовать List, если вы не используете .Net framework 1/1.1. Список даст лучшую производительность и избежит кастинга (что «foreach» подразумевает в вашем случае). привет –
Вы не создаете новый экземпляр Hashtable, вместо этого вы переписываете значения. P.S.: Использование нескольких восклицательных знаков в теме не так полезно, если вы ожидаете ответа: p –
Тем не менее, люди должны голосовать по этому вопросу, а не по грамматике. –