Wyświetlanie zawartości tablicy

0

Metoda obiektu COM zwraca mi zmienną typu VARTIANT, która w C# odbierana jest jako typ object. W zmiennej tej jednym razem może być umieszczona pojedyncza wartość, a innym razem tablica. Potrzebuję niezależnie od przypadku wypisać zawartość tej zmiennej. W przypadku pojedynczej wartości dobrze działa metoda ToString(), ale w przypadku tablicy wypisuje ona tylko nazwę typu, np. System.Int32[].
Jak wypisać zawartość elementów tablicy?

Z góry dziękuję za pomoc :-)

0

Sprobuj zrzutowac na Array. Dla pewnosci mozesz dac if(cos is Array)...

pozdrawiam
johny

0

Dzięki johny_bravo!

Próbowałem już wcześniej rzutować na Array, ale zniechęciłem się, bo tak zbudowanego wyrażenia nie dało się indeksować. A jednak można sobie poradzić, wykorzystując metody klasy Array. Zrobiłem to tak:

dText = "{ ";
int len = ((Array)Data).Length;
for (int i = 0; i < len; i++)
{
    dText += ((Array)Data).GetValue(i).ToString();
    if (i < len - 1)
        dText += "; ";
    else
        dText += " }";
}

Widzę, że nie będzie też problemu z modyfikacją wartości elementów.
Mam nadzieję, że nie zaskoczą mnie już inne konfiguracje wartości typu VARIANT.

Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1