Ich möchte IList in Array konvertieren: Bitte sehen Sie meinen Code:
%Vor%Warum bekomme ich System.InvalidCastException: Mindestens ein Element im Quell-Array konnte nicht auf den Ziel-Array-Typ reduziert werden? Wie kann das gelöst werden, vorausgesetzt, ich kann nicht ArrayList als Typ für list verwenden?
Update 1: Ich benutze .NET 1.1. Also kann ich Generics, Linq und so weiter nicht verwenden. Ich möchte nur Ergebnis für den häufigsten Fall erhalten - Integer wurde als Beispiel angegeben, ich brauche diesen Code für alle Typen, also verwende ich Array hier (vielleicht bin ich falsch mit Array zu verwenden, aber ich brauche, noch einmal, gemeinsamer Fall).
Sie erstellen ein Array von Array
values . 1 ist ein int
, nicht ein Array
. Sie sollten haben:
oder idealerweise nicht die nicht-generischen Typen verwenden, um mit ... zu beginnen, statt ArrayList
, IList<T>
anstelle von IList
etc. verwenden.
EDIT: Beachten Sie, dass die dritte Zeile leicht sein könnte:
%Vor%stattdessen.
Ich bin überrascht, dass
%Vor%kompiliert sogar, aber es tut nicht, was Sie wollen. Verwenden Sie
%Vor% Und, Standard Anmerkung: Wenn Sie C # 3 oder später verwenden können, vermeiden Sie ArrayList so viel wie möglich. Sie werden wahrscheinlich mit einem List<int>