Что-то непонятное для меня с функциями в 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