Как передать ссылку на массив в функцию в windows form на с#
Суть: надо сортировать массив параллельно 2-мя потоками (методом пузырька и методом выбора) я в функцию передаю копию массива поэтому потоки друг на друга не влияют,как передать ссылку на массив чтобы массив моментально изменялся для обоих потоков.
//сортировка пузырьком
public void Sort_puzir(int[] arr)
{
int num = Convert.ToInt32(textBox1.Text);
int temp;
for (int i = 0; i < num - 1; i++)
{
for (int j = 0; j < num - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//сортировка выбором
public void Sort_chose(int [] arr)
{
int num = Convert.ToInt32(textBox1.Text);
int min, temp;
for (int i = 0; i < num - 1; i++)
{
min = i;
for (int j = i + 1; j < num; j++)
{
if (arr[j] < arr[min])
min = j;
}
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
//считываю массив с textbox
private void button4_Click(object sender, EventArgs e)
{
int num = Convert.ToInt32(textBox1.Text);
string s = textBox2.Text;
string[] arrstring = new string[1];
if (s != "")
{
arrstring = s.Split(' ');
}
int[] mas = new int[arrstring.Length - 1];
for (int i = 0; i < arrstring.Length - 1; i++)
{
mas[i] = Convert.ToInt32(arrstring[i]);
}
//создаю потоки
Thread myThread1 = new Thread(() => Sort_puzir(mas));
Thread myThread2 = new Thread(() => Sort_chose(mas));
myThread1.Start();
myThread2.Start();
myThread2.Join();
myThread1.Join();
for (int i = 0; i < num; i++)
textBox5.Text += mas[i].ToString() + " ";