ご覧のとおり、呼び出されるハッシュテーブルがあります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
。