Что-то непонятное для меня с функциями в c#

static int[] BubbleSort(int[] spisok)
    {
        int[] spis = (int[])spisok.Clone();
        int x;

        for (int i = 0; i < spis.Length; i++)
        {
            for (int j = 0; j < spis.Length - 1 - i; j++)
            {
                if (spis[j] > spis[j + 1])
                {
                    x = spis[j + 1];
                    spis[j + 1] = spis[j];
                    spis[j] = x;
                }
            }
        }
        return spis;
    }

Вот есть функция и почему-то при работе с массивами, они в функцию передаются по ссылке, а не по значению и приходится создавать клон. Хотел спросить, это у меня что-то накрылось или так всегда было? Можно ли без создания клона как-то передавать по значению? Cтоит у меня net 7.0


Ответы (0 шт):