获取ArrayList中对象的属性值

Som*_*Dey 4 .net c# arraylist

我已经ArrayList在C#for Windows表单应用程序中初始化了一个.我正在添加新对象,其中每个对象的属性很少ArrayList,例如:

ArrayList FormFields = new ArrayList();

CDatabaseField Db = new CDatabaseField();
Db.FieldName = FieldName; //FieldName is the input value fetched from the Windows Form
Db.PageNo = PageNo; //PageNo, Description, ButtonCommand are also fetched like FieldName
Db.Description = Description;
Db.ButtonCommand = ButtonCommand;
FormFields.Add(Db);
Run Code Online (Sandbox Code Playgroud)

现在当我想只检查FieldName每个对象时ArrayList(假设有很多对象ArrayList).我怎样才能做到这一点??

我试过了:

for(int i=0; i<FormFields.Count; i++) 
{
    FieldName = FormFields[i].FieldName;
}
Run Code Online (Sandbox Code Playgroud)

但这会产生错误(在IDE中).我是C#编程的新手,所以有人可以帮助我吗?

错误:错误21'对象'不包含'FieldName'的定义,并且没有扩展方法'FieldName'接受类型'object'的第一个参数可以找到(您是否缺少using指令或程序集引用?)

Sel*_*enç 5

ArrayList持有物品.它不是通用的,也不是类型安全的.这就是为什么你需要转换对象来访问它的属性.而是考虑使用泛型集合List<T>.

var FormFields = new List<CDatabaseField>();
CDatabaseField Db = new CDatabaseField();
...
FormFields.Add(Db);
Run Code Online (Sandbox Code Playgroud)

然后您可以看到所有属性都是可见的,因为现在编译器知道元素的类型,并允许您以类型安全的方式访问您的类型的成员.