Warum Array.Reverse (a) manchmal das ursprüngliche Array verändern, aber manchmal nicht? [geschlossen]C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Warum Array.Reverse (a) manchmal das ursprüngliche Array verändern, aber manchmal nicht? [geschlossen]

Post by Anonymous »

Ich habe eine ähnliche Frage gesucht und keine Antwort gefunden. Ich lese Funktionen Dokumentation. Ich habe die Änderung des ursprünglichen Arrays erwartet, aber nicht in einer solchen Weise. />[2]




1
2
3


4
5 < /td>
6 < /td>
< /tr>

7 < /td>
8 < /td>
< /tb /table>
< /tb /> < /tbody />Original matrix after



[0]
[1]
[2]




9
8
7


6
5
4


1
2
3



Return



[0]
[1]




5
6
< /tr>

8 < /td>
9 < /td>
< /tr>
< /tbody>
< /table> < /div>

Code: Select all

        public static double[][] magicReference(double[][] A)
{
Array.Reverse(A);
Array.Resize(ref A, A.Length - 1);
Array.Reverse(A);
for (int i = 0; i < A.Length; i++)
{
Array.Reverse(A[i]);
Array.Resize(ref A[i], A[i].Length - 1);
Array.Reverse(A[i]);
}
return A;
}
< /code>
Eine lustige Addition: Dieser Umkehrt die ursprüngliche Matrix.        public static double[][] magicReference(double[][] A)
{
Array.Reverse(A)
Array.Reverse(A);
Array.Resize(ref A, A.Length - 1);
Array.Reverse(A);
for (int i = 0; i < A.Length; i++)
{
Array.Reverse(A[i]);
Array.Reverse(A[i]);
Array.Resize(ref A[i], A[i].Length - 1);
Array.Reverse(A[i]);
}
return A;
}
Nun, ich habe Ref -Dokumentation gelesen, und öffentliches statisches Double [] [] MagicReference (Ref Double [] [] A) macht das ursprüngliche Ergebnis wie Ergebnis. Auch Array.Resize einsetzen (Ref A, A.Length) ändert an keinem Zeitpunkt nichts.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post