Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Bizonhei

Bizonhando a documentação da Microsoft, achei um método nativo de String que também é muito útil! É o método String.Contains(string) Segue o código:

// Classe Extrator
internal class ExtratorValorDeArgumentosURL
    {
        public string URL { get; }
        private readonly string argumentos;

        public ExtratorValorDeArgumentosURL(string url)
        {
            if (String.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentException("URL não pode ser vazio");
            }


            argumentos = url.Substring(url.IndexOf("?"));

            URL = url;
        }

        public string GetValor(string parametroQueryString)
        {
            int indiceParametro = argumentos.IndexOf(parametroQueryString);
            string valor = argumentos.Substring(indiceParametro+parametroQueryString.Length);
            if (valor.Contains("&"))
            {
                valor = valor.Remove(valor.IndexOf("&"));
            }
            return valor;
        }
    }
// Program
class Program
    {
        static void Main(string[] args)
        {
            string url = "pagina?moedaOrigem=BRL&moedaDestino=USD";

            Console.WriteLine(url.Substring(6));
            Console.WriteLine(url.Substring(url.IndexOf("?")));

            ExtratorValorDeArgumentosURL extrator = new ExtratorValorDeArgumentosURL(url);

            Console.WriteLine(extrator.GetValor("moedaOrigem="));
            Console.WriteLine(extrator.GetValor("moedaDestino="));

            Console.ReadLine();
        }
    }
1 resposta
solução!

Fala Billy, blz?

Primeiramente parabéns, o String.Contains(string) é um ótimo recurso. A prática de consultar a documentação oficial também ajuda muito a conhecer alguns detalhes da tecnologia. Continue firme nos estudos.

Att.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software