Иногда для оптимизации кода и скорости работы, программисты используют разные варианты того как использовать замену значений в переменных без создания новых. В коде ниже я покажу один из способов, решения такой задачи, в примере используется целочисленные переменные.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
static void Main(string[] args) { int a = 5; int b = 2; a = a + b; b = a - b; a = a - b; Console.WriteLine("a= " + a); Console.WriteLine("b= " + b); Console.ReadKey(); } |
Так же возможен вариант с использованием ссылок:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
string a = "5"; string b = "3"; void test() { Program p = new Program(); b = p.a; a = p.b; Console.WriteLine("a= " + a); Console.WriteLine("b= " + b); } static void Main(string[] args) { Program p = new Program(); p.test(); Console.ReadKey(); } |
Еще один вариант с использованием метода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
static void Swap<T>(ref T lhs, ref T rhs) { T temp; temp = lhs; lhs = rhs; rhs = temp; } static void Main(string[] args) { int a = 5; int b = 3; Swap<int>(ref a, ref b); System.Console.WriteLine("a= "+ a); System.Console.WriteLine("b= "+ b); Console.ReadKey(); } |