我不知道如何用正確的術語來描述我的問題,抱歉。我的任務很簡單,但是我在 c# 中使用 ArrayList 時遇到了困難。如果我有一個物件陣列并且該物件有一個名為 jump 我可以呼叫它
arrObjects\[index\].jump();
但我的任務要我使用 ArrayList,所以我盡量避免使用陣列或串列。我想將從用戶輸入的輸入與回傳變數的物件方法進行比較。(使用 for 回圈檢查每個現有的物件方法。)如果我使用的是陣列,它看起來像
if( arrObjects\[index\].ReturnName == Textbox.Text )
{
//Do Something
}
我想使用 ArrayList 來實作相同的目的。任何意見,將不勝感激。
抱歉沒有共享代碼,不熟悉使用stackoverflow <3
我嘗試過使用陣列的方式以及在整個網路上尋找解決方案,但我的大腦被炸了。
uj5u.com熱心網友回復:
所以我認為你想說的是問題在于 ArrayList 只存盤“物件”并且不知道物件的型別。與使用泛型的 List 不同,因此它知道型別。
因此,在這種情況下,您必須先執行顯式轉換,然后才能呼叫您的方法。因此,如果您的物件是 type Person,那么您可以這樣做
if((arrObjects[index] as Person).ReturnName().Equals(Textbox.Text))
{
}
這就是為什么 List 在這種情況下被認為更好的原因。事實上,ArrayList 真的不應該再被使用了。另請參閱: C# 中的 ArrayList 與 List<>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453640.html
