Как упростить ввод задачи на C#?

Имею такой код:

using System;

namespace YaContest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string[] game1 = Console.ReadLine().Split(':');
            string[] game2 = Console.ReadLine().Split(':');
            if (game1 == null || game2 == null) Console.WriteLine(-1);
            int g11 = int.Parse(game1[0]);
            int g12 = int.Parse(game1[1]);
            int g21 = int.Parse(game2[0]);
            int g22 = int.Parse(game2[1]);
            int game = Convert.ToInt32(Console.ReadLine());
            if (game == 1){
                int score1 = g11 * 100 + g21 * 101;
                int score2 = g12 * 101 + g22 * 100;
                Console.WriteLine(Math.Max(0, score2 - score1 + 101) / 101);
            } else
            {
                int score1 = g11 * 101 + g21 * 100;
                int score2 = g12 * 100 + g22 * 101;
                Console.WriteLine(Math.Max(0, score2 - score1 + 100) / 100);
            }
        }
    }
}

Хотелось бы узнать, как можно упростить ввод из консоли? На входе 3 строки, первая и вторая представляют футбольный счёт в виде "x:x", третья строка целое число.


Ответы (1 шт):

Автор решения: rotabor

Единственное, что тут можно упростить со вводом:

string[] game1 = Console.ReadLine().Split(':');
string[] game2 = Console.ReadLine().Split(':');
if (game1 == null || game2 == null) Console.WriteLine(-1);
int g11 = int.Parse(game1[0]);
int g12 = int.Parse(game1[1]);
int g21 = int.Parse(game2[0]);
int g22 = int.Parse(game2[1]);

-->

int[] game1 = Array.ConvertAll(Console.ReadLine().Split(':'), int.Parse);
int[] game2 = Array.ConvertAll(Console.ReadLine().Split(':'), int.Parse);

Обработку ошибок добавить по необходимости.

P. S. Ну, и третью строку нет необходимости преобразовывать в число:

int game = Convert.ToInt32(Console.ReadLine());
if (game == 1){

-->

if (Console.ReadLine().Trim() == "1"){
→ Ссылка