【发布时间】:2020-02-28 11:11:53
【问题描述】:
C# 对我来说是新的,我正在尝试遍历一个集合,在这种情况下,我尝试了我的一个类的 ArrayList,我经常在 Java 中使用它。目标是循环比较ArrayList,得到当前位置的索引。
- 为什么不能用 Type 初始化 ArrayList
ArrayList<MyClass> myAL = new ArrayList<MyClass>();
- 为什么我不能对 ArrayList 进行类型转换以访问 MyClass 的公共方法
ArrayList myAL = new ArrayList();
for (int i=0; i<myAL.Count; i++)
{
(MyClass)myAL[i].getSomeValue();
}
- 唯一有效的循环是 foreach 循环,但我不知道如何访问索引。
foreach (MyClass mc in myAL)
{
mc.getSomeValue();
//index??
}
【问题讨论】:
-
使用
List<T>代替废弃ArrayList -
您应该使用 List
而不是从 NET 历史开始就存在的 ArrayList 作为无类型集合 -
如果您编写 ((MyClass)myAL[i]).getSomeValue();,您的第二个示例将起作用
标签: c# arraylist collections