Я все еще новичок в С#, и я боролся с различными проблемами в массивах. У меня есть массив объектов метаданных (пары значений имени), и я хотел бы знать, как создать только количество объектов "InputProperty", которые мне действительно нужны. В этом цикле я произвольно установил количество элементов в 20, и я попытаюсь выручить, когда запись станет пустой, но веб-служба на принимающей стороне этого не понравится ни одному из нулевых элементов, переданных ей:
private Update BuildMetaData(MetaData[] nvPairs)
{
Update update = new Update();
InputProperty[] ip = new InputProperty[20]; // how to make this "dynamic"
int i;
for (i = 0; i < nvPairs.Length; i++)
{
if (nvPairs[i] == null) break;
ip[i] = new InputProperty();
ip[i].Name = "udf:" + nvPairs[i].Name;
ip[i].Val = nvPairs[i].Value;
}
update.Items = ip;
return update;
}
В общем, скажем, у меня есть только 3 пары имени в вышеприведенном массиве ввода? Вместо того, чтобы выделять 20 элементов для массива с именем ip, как это сделать, так что ip настолько велик, насколько это необходимо. Объект обновления передается через другой веб-сервис, поэтому важна сериализация (т.е. Я не могу использовать namevaluecollection и т.д.).
p.s. Это единственный способ отслеживания размещенного вопроса через объект "добавить комментарии"?