我已经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指令或程序集引用?)
ArrayList持有物品.它不是通用的,也不是类型安全的.这就是为什么你需要转换对象来访问它的属性.而是考虑使用泛型集合List<T>.
var FormFields = new List<CDatabaseField>();
CDatabaseField Db = new CDatabaseField();
...
FormFields.Add(Db);
Run Code Online (Sandbox Code Playgroud)
然后您可以看到所有属性都是可见的,因为现在编译器知道元素的类型,并允许您以类型安全的方式访问您的类型的成员.
| 归档时间: |
|
| 查看次数: |
23226 次 |
| 最近记录: |