Die Anweisungen:
Bitte schreiben Sie einen Code, der als Eingabe eine Liste enthält, in der Jedes Element ist eine andere Liste, die einen unbekannten Typ enthält und welche gibt eine Liste aller möglichen Listen zurück, die durch Aufnahme erhalten werden können ein Element aus jeder der Eingabelisten.
Zum Beispiel:
[[1, 2], [3, 4]] sollte zurückkehren: [[1, 3], [1, 4], [2, 3], [2, 4]].
[['1'], ['2'], ['3', '4']], sollte [['1', '2', '3'], ['1', '2', '4']].
Mein Code:
%Vor%Wie kann ich mit einer polymorphen Methode arbeiten, die eine generische Liste zurückgibt?
Bitte schreiben Sie einen Code, der als Eingabe eine Liste verwendet, in der jedes Element eine andere Liste ist, die einen unbekannten Typ enthält und die eine Liste aller möglichen Listen zurückgibt, die durch Entnahme eines Elements aus jeder der Eingabelisten erhalten werden können .
Ich hätte um eine Klarstellung gebeten, etwas wie "Sie meinen dann eine generische Methode?"
Wenn wir von Polymorphismus sprechen, waren sie wahrscheinlich in der Lage, nur eine Methode zu schreiben und sie als beliebigen Typ zu bezeichnen, etwa wie folgt:
%Vor%Es ist richtig, dass Ihre Implementierung zur Laufzeit beliebige Typen zulässt, aber die Typsicherheit verliert. Angesichts der Tatsache, dass es sich um eine Implementierung in C # handelt, ist die Art der Sicherheit, die benötigt wird, eine sichere Schätzung - aber es tut auch nicht weh, danach zu fragen.
Eine weitere erwähnenswerte Sache - sie hätten nur sagen können, dass sie nach dem kartesischen Produkt der angegebenen Listen suchen.
Ich kann nur daran denken, dass sie nicht versucht haben, verschiedene Typen in den Listen zu mischen (wie Sie es implementiert haben), die Typen aller Listen wären gleich und sie wollten eine generische Klasse schreiben, die das Problem behandeln würde für verschiedene Arten von Listen, was in etwa so aussieht:
%Vor%Diese generische Implementierung, im Vergleich zu Ihrer, hat den Vorteil vom Typ Sicherheit, es stellt sicher, dass Sie verschiedene Objekttypen nicht mischen werden.
Tags und Links c# permutation polymorphism