public void Swap(ref REfSwap a, ref REfSwap b) { REfSwap temp; temp = a; a = b; b = temp; }
static void Main() { Perem val1 = new Perem(10, 20); int a = 35, b = 49; //передача параметра типа значение по значению Console.WriteLine("Передача параметра типа значение (по значению):"); Console.WriteLine("a={0}; b={1}", a, b); val1.ChangeZnach(a, b); Console.WriteLine("a={0}; b={1}", a, b); Console.WriteLine(); //передача параметра типа класс по ссылке Console.WriteLine("Передача параметра типа класса (по ссылке):"); val1.Show(); val1.ChangeREf(val1); val1.Show(); Console.WriteLine(); //передача параметра типа значение по ссылке Console.WriteLine("Передача параметра типа значение (по ссылке):"); Console.WriteLine("a={0}; b={1}", a, b); val1.ChangeZnachByRef(ref a, ref b); Console.WriteLine("a={0}; b={1}", a, b); Console.WriteLine(); //используем передачу параметров по ссылке //для обмена значениями переменных Console.WriteLine("Обмен значениями:"); Console.WriteLine("a={0}; b={1}", a, b); val1.Swap(ref a, ref b); Console.WriteLine("a={0}; b={1}", a, b); Console.WriteLine(); //получим целую и дробную часть по отдельности double myVal = 12.123; Console.WriteLine("myVal={0}", myVal); Decompose d = new Decompose(); double doublePart; int intPart = d.Decomp(myVal, out doublePart); Console.WriteLine("intPart={0}; doublePart={1}", intPart, doublePart); Console.WriteLine(); //поиск минимального и максимального общего множителя int m = 35, n = 49; int least, gratest; Num Temp = new Num(); bool status = Temp.CommonMnog(m, n, out least, out gratest); Console.WriteLine("Поиск общих множителей:"); Console.WriteLine("m={0}; n={1}", m, n); Console.WriteLine("least={0}; gratest={1}", least, gratest); Console.WriteLine(); //передача объектов типа класса по ссылке Console.WriteLine("Смена объектов под ссылками:"); REfSwap p = new REfSwap(17, 43); REfSwap q = new REfSwap(235, 411); p.Show(); q.Show(); p.Swap(ref p, ref q); p.Show(); q.Show(); Console.WriteLine(); //переменное количество параметров в методе Console.WriteLine("Переменное количество параметров в методе:"); Min qw = new Min(); int[] array = new int[27]; for (int i = 0; i < array.Length; i++) { array[i] = i; } int minVal = qw.Minimal(array); Console.WriteLine("Минимальное значение: {0}", minVal); }