在c#中关于闪退的有关问题

在c#中关于闪退的问题class Program{static void Main(string[] args){swaper s new swaper()【1】int a

在c#中关于闪退的问题
  class Program
    {
        static void Main(string[] args)
        {
            swaper s = new swaper();
            【1】int a = Convert.ToInt32(Console.ReadLine());
            【2】int b = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("调用前的实参的值:{0},{1}",a,b);
            s.swap(ref a, ref b);
            Console.WriteLine("调用完后,实参的值:{0},{1}", a, b);
            Console.Read();
           
        }
    }
我只是取了了主函数,关于里面的函数调用,我没有写出来,我想问的是,为什么我将1和2处的console.readLine改为console.read虽然他仍然可以执行,但是当我输入a和b的值后,回车却会闪退?什么原因?  (我用的是c#的控制台程序)