Невозможно увеличить целое число внутри цикла foreach
У меня есть метод C# для преобразования из списка в массив. Код выглядит так:
public String[] ConvertToArray(List<InstallationControl> list)
{
String[] Array = null;
Int32 i = 0;
foreach (var item in list)
{
Array[i] = item.Value.ToString();
i++;
}
return Array;
}
Тем не менее, это всегда дает мне исключение Null. Может кто-то объяснить это мне?
3 ответа
Вы не инициализируете массив, который пытаетесь заполнить.
String[] Array = new String[list.Count]
Должен решить вашу проблему.
Это создаст массив строк [list.Count]. Вы должны знать, что каждая из этих строк равна нулю, пока вы не присвоите значение.
Вам нужно инициализировать массив
String[] Array = new String[list.Count];
или просто
String[] Array =list.Select(x=>x.Value.ToString()).ToArray();
Измените строку для инициализации массива
String[] Array = new String[list.Count];
Должно сработать