第三种方法!!!
using System;
using System.Diagnostics;
namespace ConsoleApp7
{
class Program
{
static void Main(string[] args)
{
int a = 111, b = 222;
Stopwatch s = new Stopwatch();
s.Restart();
for (int i = 0; i < 10000000; i++)
{
Swap1(ref a, ref b);
}
s.Stop();
Console.WriteLine(s.Elapsed);
Console.WriteLine(s.ElapsedMilliseconds);
Console.WriteLine(s.ElapsedTicks);
Console.WriteLine();
s.Restart();
for (int i = 0; i < 10000000; i++)
{
Swap2(ref a, ref b);
}
s.Stop();
Console.WriteLine(s.Elapsed);
Console.WriteLine(s.ElapsedMilliseconds);
Console.WriteLine(s.ElapsedTicks);
Console.WriteLine();
s.Restart();
for (int i = 0; i < 10000000; i++)
{
Swap3(ref a, ref b);
}
s.Stop();
Console.WriteLine(s.Elapsed);
Console.WriteLine(s.ElapsedMilliseconds);
Console.WriteLine(s.ElapsedTicks);
Console.ReadKey();
}
public static void Swap1(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
public static void Swap2(ref int a, ref int b)
{
a = a + b;
b = a - b;
a = a - b;
}
public static void Swap3(ref int a, ref int b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
}
}
VS2013
VS2019