2012-04-03 60 views
-1

我想使用我在我的Nation類中用ArrayList寫的getter和setter方法,但它不起作用。 ArrayList的行爲不像數組。我能做些什麼來使用Getter和Setter方法來處理ArrayList

下面的代碼不工作:

列表[I] .getCapitol();

我找到了一個方法,但我需要使用數組。我想老師要我只用ArrayList

public string getCapitol() 
{ 
    return capitol; 
} 
+0

'不工作'是什麼意思?編譯錯誤?例外?錯誤的結果? – 2012-04-03 10:35:02

+1

meths?這比編寫方法更容易嗎? (考慮到閱讀這條評論的時間) – musefan 2012-04-03 10:35:18

+3

@musefan我不明白你的通訊的要點? – 2012-04-03 10:36:06

回答

2

ArrayList是一個非泛型集合,因此,吸氣返回object,而不是一個強類型Nation。使用List<Nation>代替,或鑄吸氣的結果:

string c = ((Nation)arrayList[i]).getCapitol(); 
+0

我無法使用List,因爲它是一項作業。它不起作用,因爲ArrayList由於某種原因不支持它。 – 2012-04-03 11:15:58

+1

你有沒有嘗試過從'ArrayList' getter獲得結果?如果你不能使用泛型集合,這是非常奇怪的功課,因爲'ArrayList'現在已經被棄用了。我會抱怨你的老師。 – thecoop 2012-04-03 13:19:34

1

你訪問它的成員之前,該項目投放到您的類型,如ArrayList店它的項目,如object

附註:雖然很高興知道ArrayList類型(以防萬一您最終維護C#1.0應用程序),但它們現在已經過時,您應該使用通用的List<T>類型。

+0

你如何投射物體?對不起,我是一個完整的新手。 – 2012-04-03 11:16:32

+0

Arraylist list =(國家)名單? – 2012-04-03 11:22:10

+1

不完全。 '民族項目=(國家)名單[我];'就是這樣。 – Nuffin 2012-04-03 11:52:14