2010-11-24 132 views
0

這是在主類中的靜態void方法中獲得的。 (類用於輸入)。ArrayList檢索對象的值

private static void Input(ArrayList list) 
{ 
    //other code... 

    Object b = new Object(number, hour, minutes, seconds); 
    list.Add(b) 
} 

接下來我有另一個靜態無效的方法來顯示其中的對象。 事情是我想分組他們的數字,然後顯示所有的小時,分​​鍾和秒鐘爲對方下面的相同數字。 然後下面的數字與所有相應的小時,分​​鍾和秒。

但我不知道如何我可以得到的數字,例如第一個數組,第二個等等。

我該如何訪問?下面的語法不起作用,不知道如何檢索這個值。

int var = array[0].number; //does not work 

另外如何再次製作此對象的實例?我不能再使用新的我可以嗎?

private static void Output(ArrayList list) 
{ 
    while (i < list.Count) 
    { 
     //keep track of current group (number) 
     //announce group 
     //... 
    } 
} 

問候。

回答

0

這是因爲您使用的是非通用集合(ArrayList而不是List<T>)。如果可以的話,更適合使用泛型集合。但是,如果你被迫使用ArrayList,你得投:

Foo foo = (Foo) list[0]; 
int x = foo.number; 
... 

(我希望你有沒有真正名爲自己的類Object ......我也建議不要使用名稱var,因爲這是關於C#3的上下文關鍵字。)

+0

這些名稱的確僅用於說明。將嘗試與鑄造,然後使其與一個通用的類。歡呼輸入。 – Tonz 2010-11-24 12:07:14

0

代替使用ArrayList,請使用List<T>,其中T是您的對象類型。