class City
{
string name;
public string getName()
{
return name;
}
public void setName(String value)
{
name = value;
}
}
static void Main(string[] args)
{
City[] arr = new City[1];
arr[0].setName("New York");
}
问题是我得到了#34; System.NullReferenceException","对象引用未设置为对象的实例。"在我设置名称到纽约的行。如果我这样做:
City city = new City();
city.setName("New York");
我没有收到任何错误,但我想使用数组,因为我将添加更多对象。这在C#中是否可行,因为它在C ++中?是唯一的方法来声明5个对象,设置它们的名称,然后创建一个数组并将它们放入其中?
答案 0 :(得分:3)
您正在创建一个空数组。在分配对象之前,必须先初始化对象:
City[] arr = new City[1];
arr[0] = new City();
arr[0].setName("New York");
答案 1 :(得分:1)
这一行只创建一个包含一个元素的数组。
City[] arr = new City[1];
元素为空。
您需要为其指定一个值
arr[0] = new City();
然后你可以访问它。
arr[0].setName("New York");