C# ArrayList正在检索对象的值
这是在主类中的静态void方法中实现的。类用于输入C# ArrayList正在检索对象的值,c#,arraylist,C#,Arraylist,这是在主类中的静态void方法中实现的。类用于输入 private static void Input(ArrayList list) { //other code... Object b = new Object(number, hour, minutes, seconds); list.Add(b) } 接下来,我有另一个静态void方法来显示其中的对象。 问题是我想把它们按数字分组,然后在彼此下面显示相同数字的所有时、分、秒。 然后是以下数字以及所有相应的小时、分钟和
private static void Input(ArrayList list)
{
//other code...
Object b = new Object(number, hour, minutes, seconds);
list.Add(b)
}
接下来,我有另一个静态void方法来显示其中的对象。
问题是我想把它们按数字分组,然后在彼此下面显示相同数字的所有时、分、秒。
然后是以下数字以及所有相应的小时、分钟和秒
但我不确定如何获得数字,例如第一个数组和第二个数组等等
我怎样才能访问这个?下面的语法不起作用,不确定如何检索此值
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
//...
}
}
关于。请使用一个列表,其中T是您的对象类型,而不是使用ArrayList。这是因为您使用的是非通用集合ArrayList而不是List。如果可以,最好使用泛型集合。但是,如果您被迫使用ArrayList,则必须强制执行以下操作:
Foo foo = (Foo) list[0];
int x = foo.number;
...
我希望您没有真正命名自己的类对象。。。我还建议不要使用名称var,因为从C3开始,这是一个上下文关键字。这些名称实际上只是为了说明。将尝试使用强制转换,然后使用泛型类进行转换。为您的输入干杯。@Tonz:以后,使用标准库以外的名称是值得的。可以吗,尽管我仍然无法获取数字本身?@Tonz:嗯,您应该可以,在施放后。。。假设number是您强制转换到的类型的可访问成员。如果没有一个完整的例子,就很难知道哪里出了问题。