Wpis z mikrobloga

Mireczki pytanie nowicjusza w cszarpach, bawię się API dhla.
Mam przykład z dokumentacji https://sandbox.dhl24.com.pl/webapi2/doc/info.html?id=przyklady zamówienia kuriera (sam przykład jest chyba leciwy bo wymagał zmian w nazewnictwie nadawacy i odbiorcy, reszta ok)
jest tam tablica:

request.pieceList = new Package[] { new Package() };
request.pieceList[0].packageType = "ENVELOPE";
request.pieceList[0].quantity = 1;

Gdy dodam sobie niżej kolejny

request.pieceList[1].packageType = "ENVELOPE";
request.pieceList[1].quantity = 1;

Drze się na mnie że

index was outside the bounds of the array

ale ni diabła nie kumam gdzie mam rozmiar tej tablicy zadeklarować, a https://sandbox.dhl24.com.pl/webapi2/doc/info.html?id=definicjaPaczki nie daje nic :P
#csharp #naukaprogramowania #dhl #apidhl
  • 13
@lukpep: po takiej operacji nie poznaje definicji danych pól

@Golomp: to w jaki sposób mam dodać do tego kolejne elementy? drugi raz nie mogę wywołać tego, dla piecelist[0] i piecelist[1] nie mogę zrobić new Package[] { new Package() }

@Endriu_: tzn np
string[,] pieces = new string[2, 2];
dniTygodnia[0, 0] = "ENVELOPE";
dniTygodnia[1, 0] = "1";
dniTygodnia[0, 1] = "ENVELOPE";
dniTygodnia[1, 1] = "1";

Chociaż musiałbym pewnie inaczej to
@poszlo_wyszlo:
Nie wiem jakiego typu jest ten obiekt pieceList, ale jeśli to faktycznie List:

request.pieceList = new ;
request.pieceList.Add(new Package() { ... tutaj ustawiasz propertiesy paczki });
request.pieceList.Add(new Package() { /*kolejna paczka*/ });
@poszlo_wyszlo: A, widzę, że to pieceList to Package[]
No to:

var pieceList = new List();
pieceList.Add( /*tutaj dodajesz itemy do listy tak, jak napisałem wyżej*/);
pieceList.Add( ... );
pieceList.Add( ... );
request.pieceList = pieceList.ToArray();

Cuś takiego powinno przejść a nie ma ryzyka wyjścia poza zakres tabeli.
@Endriu_: a, nie no opłata jest naliczona dopiero gdy przesylka pójdzie do transportu, dopiero gdy kurier pierwsy raz zeskanuje kod

mogę wygenerować 1000 przesyłek i listów przewozowych do nich i nic to nie kosztuje póki nie pójdzie do transportu :P