需要用ArrayList来存储对象,赋值需要用ArrayList,苦苦的从ArrayList中调用对象的方法

Need to use an ArrayList to store objects, assignment requires I use an ArrayList, struggling to call the methods of the object from the ArrayList

我不知道如何用正确的术语描述我的问题,抱歉。 我的任务非常简单,但我在使用 c# 中的 ArrayList 时遇到了困难。 如果我有一个对象数组并且该对象有一个名为 jump 的方法,我可以通过

调用它
arrObjects\[index\].jump();

但是我的作业要求我使用 ArrayList,所以我尽量避免使用数组或列表。 我想将用户输入的输入与 returns 变量的对象方法进行比较。(使用 for 循环检查每个现有对象方法。) 如果我使用数组,它看起来像

if( arrObjects\[index\].ReturnName == Textbox.Text )

{

//Do Something

}

我想使用 ArrayList 实现相同的目的。 如有任何建议,我们将不胜感激。

抱歉没有分享代码,不熟悉使用Whosebug <3

我试过用我处理数组的方式来做,并在网上寻找解决方案,但我的大脑被炸了。

所以我认为你想说的是问题是 ArrayList 只存储“对象”并且不知道对象的类型。与使用泛型的 List 不同,它知道类型。

那么在这种情况下,您必须先执行显式转换,然后才能调用您的方法。所以如果你的对象是 Person 类型,那么你可以这样做

if((arrObjects[index] as Person).ReturnName().Equals(Textbox.Text))
{

}

这就是为什么 List 被认为更适合这种情况的原因。事实上,ArrayList 真的不应该再被使用了。另见: ArrayList vs List<> in C#