[C# Advanced][Manual String Processing - Lab] 02. Parse URLs
Здравейте,
Някой може ли да ми обясни защо при първия вариант единия тест в Judge гърми, а при втория всичко е наред?
            var url = Console.ReadLine();
            var urlTokens = url.Split(new[] { "://" }, StringSplitOptions.RemoveEmptyEntries);
            var indexResource = urlTokens[1].IndexOf('/');
            if (urlTokens.Length != 2 || urlTokens[1].IndexOf('/') == -1)
            {
                Console.WriteLine("Invalid URL");
                return;
            }
                var protocol = urlTokens[0];
                var server = urlTokens[1].Substring(0, indexResource);
                var resources = urlTokens[1].Substring(indexResource + 1);
                Console.WriteLine($"Protocol = {protocol}");
                Console.WriteLine($"Server = {server}");
                Console.WriteLine($"Resources = {resources}");
========================================================================
            var url = Console.ReadLine();
            var urlTokens = url.Split(new[] { "://" }, StringSplitOptions.RemoveEmptyEntries);
            if (urlTokens.Length != 2 || urlTokens[1].IndexOf('/') == -1)
            {
                Console.WriteLine("Invalid URL");
                return;
            }
            var protocol = urlTokens[0];
            var indexResource = urlTokens[1].IndexOf('/');
            var server = urlTokens[1].Substring(0, indexResource);
            var resources = urlTokens[1].Substring(indexResource + 1);
            Console.WriteLine($"Protocol = {protocol}");
            Console.WriteLine($"Server = {server}");
            Console.WriteLine($"Resources = {resources}");
Така, както казваш, гърми, да, ама защо, това че вземам индекса преди проверката е проблем? Просто indexResource ще е равен на -1, ако няма наклонена черта в текста.
Теста от джъдж е текст, в който няма "://". Тогава се получава това:
urlTokens.Length = 1
взимаш urlTokens[1], преди да провериш дали urlTokens.Length != 2, така излиза от масива
Разбрах, ама това е малко тъпичко...