ترتیب صدا زدن توابع داخل #C از چپ به راست هست.
دلیل این که کد شما به اون شکل کار میکنه چیز دیگه ای هست .
این کد :
System.Console.WriteLine(result.ToString(),
System.Console.ReadKey());
قبل از اجرای بدنه تابع باید ورودی هاش مشخص باشن پس Console.readkey قبل از چاپ شدن باید انجام بشه و راهی برای عوض کردن ترتیب وجود نداره .
ضمنا کدی که نوشتید برای انجام اون کاری که مد نظر شماست صحیح نیست
چون متد Console.ReadKey یک کلاس از ConsoleKeyInfo بر می گردونه و متد Write تابعی نداره که یک ورودی String بگیره یک ورودی هم ConsoleKeyInfo
پس این تابع رو صدا می زنه :
WriteLine(string format, params object[] arg)
دلیل هم این هست که شی object قابل تبدیل به همه انواع هست .
حالا اگر به این شکل بنویسید :
System.Console.WriteLine("{0}",
System.Console.ReadKey());
و هر عددی رو وارید کنید این نوشته Write میشه : System.Console.KeyInfo که احتمالا اون چیزی که می خواهید نیست .
برای انجام اون کاری که گفتید نباید ReadKey رو به تابع بفرستید داخل یک خط جدا بنویسید.