我正在寫一個小PROGRAMM現在在我做了一個帕班,其中一個對象由一個鍵和一個值覆寫數組條目時它有一個重複鍵
class Paar
{
private object value1;
public Paar(string key, object value1)
{
this.key = key;
this.value = value1;
}
public string key;
public object value;
}
我做了的Put和一個Get類的方法。 PUT方法解析在第一個開槽的新條目發現,可以使用通過調用鍵打印的條目Get方法,他們是如下
private Paar[] getArray = new Paar[10];
public void Put(string key, object value)
{
int i = 0;
while (true)
{
if (getArray[i] == null)
{
break;
}
else
{
i++;
if (i == 10)
{
throw new Exception("All slots full");
}
}
}
getArray[i] = new Paar(key, value);
}
public object Get(string key)
{
for (int i = 0; i <= 9; i++)
{
Paar currentElement = getArray[i]
if (currentElement.key == key)
{
return currentElement.value;
}
}
throw new Exception("Invalid key");
}
「問題」是,那個時候我有兩個具有相同鍵的條目,我只能打印第一個條目,而我想向Put方法添加一個函數,用相同的鍵覆蓋以前的條目並打印最近的條目。
E.g:
newMap.Put("Key2", "Value1"); newMap.Put("Key2", "Value2"); newMap.Put("Key2", "Value3");
Console.WriteLine(newMap.Get("Key2"));
目前將打印值1,而我想它打印值3。有什麼辦法可以做到這一點?
是否有你使用數組而不是字典的原因? – mjwills
被授權使用對象數組 –
你能問他們爲什麼要你這樣做嗎?你的問題空間是**完美**的字典。 – mjwills