C # Liststring [] zu Listobject [] Konvertierung

7

Alles, bin ich mental geworden (das ist nicht die Frage). Ich möchte List<string[]> in List<object[]>

konvertieren %Vor%

Das funktioniert nicht, aber wenn ich etwas nicht vergessen habe, sollte eine Konvertierung mit dieser Methode möglich sein (kein Lambdas benötigt)?

Danke für Ihre Zeit.

    
MoonKnight 22.06.2012, 18:49
quelle

4 Antworten

16

Sie möchten etwas wie:

verwenden %Vor%

oder in C # 4.0, nur

%Vor%

oder

%Vor%     
Gabe 22.06.2012, 18:51
quelle
3

OfType<string[]> liefert eine IEnumerable<string[]> , nicht eine List<object[]> .

Enuemrable.OfType filtert alle ungültigen Umwandlungen heraus. Sie können stattdessen Enumerable.Cast berücksichtigen, was bei einem Fehler ausgelöst wird. Wenn string[] nicht von object[] erbt (ich erinnere mich ehrlich gesagt nicht), müssen Sie möglicherweise Enumerable.Select aufrufen, um eine Konvertierung bereitzustellen.

Sie brauchen definitiv irgendwo einen Aufruf von Enumerable.ToList.

    
Amy B 22.06.2012 18:55
quelle
2

Aufgrund der Array-Kovarianz können Sie in .NET 4.0 einfach Folgendes tun:

%Vor%

Beachten Sie jedoch, dass Sie diese Arrays nicht mit anderen als Strings mutieren können (da die Array-Kovarianz nicht wirklich sicher ist).

Wenn Sie wirklich flexible beschreibbare Objekt-Arrays möchten, können Sie Folgendes tun:

%Vor%

(oder)

%Vor%

Dann könntest du die Elemente jedes inneren Arrays durch Instanzen von fast jedem beliebigen Typ ersetzen.

    
Ani 22.06.2012 18:58
quelle
0

Wie wäre es damit?

%Vor%     
HatSoft 22.06.2012 18:57
quelle

Tags und Links