【发布时间】:2012-10-07 11:20:41
【问题描述】:
如您所见,我有一个由GetEdinburgh() 调用的哈希表
但是这个程序需要运行可变时间并且每次它需要调用不同的哈希表。如何将GetEdinburgh() 替换为GetTown() 之类的字符串?
static Hashtable GetEdinburgh()
{
Hashtable hashtable = new Hashtable();
hashtable.Add("Aberdeen", 129);
hashtable.Add("Ayr", 79);
hashtable.Add("Fort_William", 131);
hashtable.Add("Glasgow", 43);
hashtable.Add("Inverness", 154);
hashtable.Add("St_Andrews", 50);
hashtable.Add("Stirling", 36);
return hashtable;
}
static void Main(string[] args)
{
int total = 1000;
string Town = "";
Hashtable hashtable = GetEdinburgh(); //how can I change this to a string?
foreach (DictionaryEntry entry in hashtable)
{
if (Convert.ToInt32(entry.Value) < total)
{
total = Convert.ToInt32(entry.Value);
Town = entry.Key.ToString();
}
}
Console.WriteLine(Town + ", " + total + "km");
Console.ReadLine();
}
我可能没有具体说明我的问题。上面的当前代码工作正常,但我需要扩展它。我需要调用比上面提供的更多的哈希表,但我不能直接调用它。我需要有一个字符串值,每次实现循环以调用新表时都会更改。但我无法将system.Collections.hashtable 转换为字符串。
【问题讨论】:
-
您有包含该信息的文件(或数据库)吗?
-
你不清楚你的问题,如何描述你想要的输入->输出和方法。
-
我可以在您的代码中看到您仅显示具有最低
km的城镇。这是你想要做的吗?并且更清楚你提到的GetTown()。 -
如果可以的话,请使用
Dictionary<string, int>。 -
你的意思是multiple还是mutable,你想达到什么目的?