需要用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#
我不知道如何用正确的术语描述我的问题,抱歉。 我的任务非常简单,但我在使用 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#