Ich habe 2 Arrays. Ich möchte sie nach derselben Indexnummer sortieren. Zum Beispiel habe ich diese:
%Vor% Ich möchte einen Index nach b sortieren - & gt; a = {20, 120, 60, 50, 30, 40}
Wenn ich auch das String-Array c -> c = {"b", "u", "r", "s", "a", "1"}
Ich möchte c nach b's Index sortieren - & gt; c = {"1", "b", "u", "r", "a", "s"}
Wie kann ich das tun? Danke im Voraus, Grüße.
Verwenden Sie Array.Sort<TKey, TValue>(TKey[] keys, TValue[] items)
, das zwei Eingabe-Arrays akzeptiert, eins ist das Array von Schlüsseln, das andere ist das Array von Elementen, die mit diesen Schlüsseln sortiert werden. Hier sind für Sie b
Ihre Schlüssel und a
Ihre Elemente.
Also:
%Vor% verwendet die Schlüssel von b
, um die Elemente von a
zu sortieren.
Ich möchte
c
byb
's index - & gt;c = {"1", "b", "u", "r", "a", "s"}
Nicht genau klar, was du meinst. Zur gleichen Zeit wie Sie a
mit b
sortieren? Wenn ja, ist es einfach, da wir das oben genannte noch verwenden können. Zip a
und c
in ein einzelnes Array von Tuple<int, string>
.
Dann:
%Vor%wie oben. Dann extrahiere die Teile:
%Vor%Alternativ, wenn Sie viele Arrays mit demselben Schlüsselsatz sortieren müssen:
%Vor% Jetzt können Sie mit indexes
alle benötigten Arrays sortieren. Zum Beispiel:
usw. nach Bedarf.
Möglicherweise einige kleinere Codierungsfehler hier. Kein Compiler zur Hand.