2013-12-07 49 views
-6
class Ülke : IComparable<Ülke> 
{ 
    public string ülke; 
    public int nüfus ; 
    public int sıra; 
} 

我添加的對象到我的哈希表 但輸出Console.Application ... 我如何轉換對象爲int 的foreach不起作用轉換對象整數哈希表

 hashtable.Add(ülke.ülke, ülke); 

    foreach (DictionaryEntry i in hashtable) 
     { 
      if (i.Value is object) 
      { 
       Console.WriteLine(" " + i.Value); 
      } 
     } 

的答案是:

foreach (DictionaryEntry i in hashtable) 
     { 
      if (i.Value is Ülke) 
      { 
       Ülke x = (Ülke)i.Value; 
       Console.WriteLine(" " + x.ülke + " " + x.nüfus); 
      } 
     } 
+0

一切從對象派生......所以這個心不是有幫助。你想在這裏做什麼?你究竟在儲存什麼? –

+0

我在我的班級中添加了我的班級對象我有整數 – gula93

+1

投票關閉:*不清楚你在問什麼* –

回答

0

嘗試這樣:

foreach (DictionaryEntry i in hashtable) 
{ 
    if (i.Value is Ülke) 
    { 
     Ülke x = (Ülke)i.Value; 
     Console.WriteLine(" " + x.Ülke + " " + x.nüfus); 
    } 
} 
+0

它的工作原理!非常感謝 – gula93

0

假設原先存儲的項目是整數類型,你可以將它轉換爲(整數),只是把它作爲你會int(Java會autounbox它爲你)。

Console.WriteLine(" " + (Integer)(i).Key + " " + i.Value);

您在這裏冒險,因爲如果你沒有存儲整數,你會得到一個運行時錯誤。

0

您可以使用運算符是或嘗試將您的對象明確地轉換爲字符串/ int/etc。但這不是一個好習慣 - 使用Hashtable。你應該使用像Dictionary這樣的泛型類型。