Natrafiłem ostatnio na ciekawą funkcję: Array.Clear. Na pierwszy rzut oka wygląda zwyczajnie, ale interesuje mnie pewna rzecz.
Załóżmy, że mam tablicę:
private int[] myIntArray = new int[] { 1, 2, 3, 4, 5};
I mamy jakąś funkcję która wywołuje:
Array.Clear(myIntArray,0, myIntArray.Length);
Co ciekawe nasza tablica zostanie zresetowana, pomimo tego, że:
Metoda Clear nie ma słowa kluczowego ref, ani też nieprzypisujemy wyniku metody Clear do tablicy. Więc jakim cudem metoda Clear zmienia stan tablicy?