Como definir o comprimento da matriz em c # dinamicamente
Ainda sou novo em C # e tenho lutado com vários problemas em matrizes. Eu tenho uma matriz de objetos de metadados (pares de nome e valor) e gostaria de saber como criar apenas o número de objetos "InputProperty" de que realmente preciso. Nesse loop, arbitrariamente, configurei o número de elementos para 20 e tento resgatar quando a entrada se torna nula, mas o serviço da Web no final de recebimento não gosta de nenhum elemento nulo passado para ela:
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;
}
Em resumo, digamos que eu tenho apenas 3 pares de valores de nomes na matriz de entrada acima? Em vez de alocar 20 elementos para o array chamado ip, como codificar isso para que o ip seja tão grande quanto for necessário. O objeto de atualização é passado por outro serviço da Web, portanto, a serialização é importante (ou seja, não posso usar namevaluecollection etc.
p.s. É a única maneira de acompanhar uma pergunta postada através do recurso "adicionar comentários"?