Предположим, что у меня есть массив строк - countryNames[]
- содержащие имена стран мира:Присвоить значение из строки массива в свойстве строки каждого элемента пользовательского типа массива
string[] countryNames = { "Afghanistan" , "Albania" , "Algeria", ... }
I также класс называется Country
, содержащим эти свойства, в частности:
public string CountryCode { get; set; }
public string Name { get; set; }
Моя цель состоит в том, чтобы создать массив пользовательского типа Country
и присвоить Country.Name
свойству каждого элемента Country[]
в соответствующее строковое значение индекса countryNames[]
. Я попытался сделать это следующим образом, в тот же метод, где я реализовал массив строк:
Country[] countries = new Country[193];
for (int i = 0; i < 193; i++)
{
countries[i].Name = countryNames[i];
}
return countries;
countries[i].Name
однако, вызывает NullReferenceException
. Я не вижу, где проблема, поскольку свойство Country.Name
является строкой. Существуют ли какие-либо осложнения при смешивании массивов и свойств?
Спасибо, ребята!
Недостаточно инициализации массива. Вы должны создать объекты страны перед вводом цикла for и добавить их в массив. Затем вы можете присвоить значение для свойства Name каждой страны. – Sagar