如何访问对象';s在数组[i](C#)处的属性

本文关键字:数组 属性 访问 何访问 对象 | 更新日期: 2023-09-27 18:20:25

我创建了一个类型为Account的数组。然后我用Account对象填充数组
现在,我正在尝试访问array[i]中的对象,以便修改其中一个变量并继续下一个对象。

public class Account {
    string client;
    string firstName;
    string lastName;
    string planName;
    string startDate;
    string endDate;
    string eeCost;
    string erCost;
    string total;
}
Account[] webData = new Account[3];
for(int i = 0; i < webData.Length; i++) {
    webData[i] = new Account();
}

如何访问webData[i]上的对象?

for(int i = 0; i < webData.Length; i++) {
    webData[i].firstName = "Anna";
}

如何访问对象';s在数组[i](C#)处的属性

将firstName作为添加了getter/setter的公共变量,然后您将能够访问属性。默认情况下,如果不存在访问修饰符,则CLR将其视为Private

public string FirstName { get; set; }

在您的示例中一切都很好。这正是您访问字段的方式。

问题是这些字段不是公共的——在C#中,类成员的默认访问修饰符是private

它应该声明为public,以便在类之外进行访问:

public class Account {
    public string client;
    public string firstName;
    public string lastName;
    public string planName;
    public string startDate;
    public string endDate;
    public string eeCost;
    public string erCost;
    public string total;
}

顺便说一下,最好使用属性。阅读更多关于:
-什么是汽车财产?位于MSDN
-以及为什么您应该在Programmers.SE 中使用它