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

Compila normalmente mas nao aparece nada na tela

Nao consigo entender o porque o codigo esta compilando normalmente mas nao aparece nada na tela, somente fica a tela preta com o cursor piscando

namespace ByteBank.agencia
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "www.bytebank.com/cambio?moedaOrigem=real&moedaDestino=dolar&valor=1500";

            ExtratorValorDeArgumentosURL extrator = new ExtratorValorDeArgumentosURL(url);

            extrator.GetValor("moedaOrigem");
            extrator.GetValor("moedaDestino");
            extrator.GetValor("valor");

            Console.ReadKey();
        }
    }
}

namespace ByteBank.agencia { public class ExtratorValorDeArgumentosURL { private readonly string _argumentos; public string URL { get; }

    public ExtratorValorDeArgumentosURL(string url)
    {


        if (string.IsNullOrEmpty(url))
        {
            throw new ArgumentException("O argumento uel nao pode ser nulo ou vazio");

        }

        URL = url;
        int indiceInterrogacao = url.IndexOf('?');
        _argumentos = url.Substring(indiceInterrogacao + 1);
    }


    public string GetValor(string nomeParametro)
    {
        string termo = nomeParametro + '=';
        int indiceTermo = _argumentos.IndexOf(termo);

        string resultado = _argumentos.Substring(indiceTermo + termo.Length);
        int indiceEComercial = resultado.IndexOf('&');

        if(indiceEComercial == -1)
        {
            return resultado;
        }

        return resultado.Remove(indiceEComercial);
    }
}

}

1 resposta
solução!

Olá Rafael, tudo bem?

Para conseguir exibir você vai precisar utilizar o Console.WriteLine na classe Program. Você consegue fazer de duas formas.

A primeira e mais simples, seria sem usar uma declaração, ficaria desta forma:

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

A outra forma e mais elegante, seria declarando uma variável, desta forma:

           string moedaOrigem = extrator.GetValor("moedaOrigem");
            string moedaDestino = extrator.GetValor("moedaDestino");
            string valor = extrator.GetValor("valor");

            Console.WriteLine(moedaOrigem);
            Console.WriteLine(moedaDestino);
            Console.WriteLine(valor);

Espero ter ajudado. Bons estudos!