none
Criar uma classe de formatar string e chama-la RRS feed

  • Pergunta

  • Quero criar uma 'função' que irá verificar e formatar uma string e me retornar 2 variaveis.

    ex:

    string vBrowser = "Mozilla/5.0 Googlebot/2.1; +http://www.google.com/bot.html)";

    quero criar uma função que ao chamar

    nomeclass.Navegador;  //retorna 'Google Bot'
    nomeclass.Ver; //retorna 2.1

    eu até fiz isso porém não sei como criar uma classe em separado para isso


            static void Main(string[] args)
            {
                string vNavegador;
                string vBrowser = "Mozilla/5.0 Googlebot/2.1; +http://www.google.com/bot.html)";
    
                if (vBrowser.ToString().Contains("MSIE"))
                {
                    vNavegador = "IE";
                }
                else if (vBrowser.ToString().Contains("Googlebot"))
                {
                    vNavegador = "Googlebot";
                    int p1 = vBrowser.IndexOf("Googlebot/");
                    string ver = vBrowser.Substring(p1 + 10,3);
                }
                else
                {
                    vNavegador = "outros";
                }
           
            }
            
            public string FormataBrowser(string valor) {
    
                return valor;
            }


    aqui fiz só o exemplo para o Googlebot que tem a variavel vNavegador e a variavel ver (versão)

    quero que a classe me retorne esses 2 métodos.
    • Editado ASPX_BR quarta-feira, 7 de agosto de 2013 20:51
    quarta-feira, 7 de agosto de 2013 20:50

Respostas

  • Bom descobri a resposta sozinho vou postar apenas para se alguém precisar.

    crio a Classe:

          public Browser(){
            }
           public Browser(string _navegador) {
               this.navegador = _navegador;
           }
           private string navegador;
            public string Navegador
            {
                get {
                    if (navegador.ToString().Contains("Firefox"))
                    {
                        navegador = "Firefox";
                    }
                    if (navegador.ToString().Contains("MSIE"))
                    {
                        navegador = "IE";
                    }
                    else if (navegador.ToString().Contains("Googlebot"))
                    {
                        navegador = "Googlebot";
                        int p1 = navegador.IndexOf("Googlebot/");
                        string ver = navegador.Substring(p1 + 10, 3);
                    }
                    else
                    {
                        navegador = "outros";
                    }
    
    
    
                    return navegador;
                   
                }
                set {
                   navegador = value;
                 
                }
            }
            ~Browser()
            {
            }

    e para chamar tenho 2 opções

    string vBrowser = "Mozilla/5.0 Googlebot/2.1;+http://www.google.com/bot.html)";
    
    Browser a1 = new Browser(vBrowser);
    Console.WriteLine(a1.Navegador);
    
             //   Browser b1 = new Browser();
             //  b1.Navegador ="Mozilla/5.0 Googlebot/2.1; +h";
             //   Console.WriteLine(b1.Navegador);
    
                Console.ReadKey();
    

    • Marcado como Resposta ASPX_BR sexta-feira, 9 de agosto de 2013 12:21
    sexta-feira, 9 de agosto de 2013 12:21

Todas as Respostas

  • Leonardo

    Existem várias formas de você fazer isso.

    A primeira é retornar uma string com alguma variável no meio e depois você fez o split do retorno pegando posição 0 e 1.

    //retornando valores

    string b = variavel1 + "|" + variavel2;

    return b;

    //pegando o valor

    string a = b.Split('|');

    Response.Write(a[0].ToString());

    Response.Write(a[1].ToString());

    Outro exemplo usando Split - http://www.ecode10.com/artigo/554/Usando-Split-No-CSharp

    Outra forma é usar o Tuple. Funciona para algumas coisas mas para Linq não funciona.


    Espero ter ajudado. Se ajudei, favor marcar no fórum falando que foi útil.

    Mauricio Junior - Comunidade www.ecode10.com

    • Sugerido como Resposta Mauricio-Junior quarta-feira, 7 de agosto de 2013 21:19
    quarta-feira, 7 de agosto de 2013 21:19
  • Agradeço a dica do split, costumo utilizar ela em outra linguagem bom saber tb como funciona no C#, porém até ai eu já fiz e funciona com o indexof + substring.

    a dúvida é:

    Como colocar essa função em uma classe e ai poder por exemplo chamar na minha GridView.


    quinta-feira, 8 de agosto de 2013 17:23
  • Bom descobri a resposta sozinho vou postar apenas para se alguém precisar.

    crio a Classe:

          public Browser(){
            }
           public Browser(string _navegador) {
               this.navegador = _navegador;
           }
           private string navegador;
            public string Navegador
            {
                get {
                    if (navegador.ToString().Contains("Firefox"))
                    {
                        navegador = "Firefox";
                    }
                    if (navegador.ToString().Contains("MSIE"))
                    {
                        navegador = "IE";
                    }
                    else if (navegador.ToString().Contains("Googlebot"))
                    {
                        navegador = "Googlebot";
                        int p1 = navegador.IndexOf("Googlebot/");
                        string ver = navegador.Substring(p1 + 10, 3);
                    }
                    else
                    {
                        navegador = "outros";
                    }
    
    
    
                    return navegador;
                   
                }
                set {
                   navegador = value;
                 
                }
            }
            ~Browser()
            {
            }

    e para chamar tenho 2 opções

    string vBrowser = "Mozilla/5.0 Googlebot/2.1;+http://www.google.com/bot.html)";
    
    Browser a1 = new Browser(vBrowser);
    Console.WriteLine(a1.Navegador);
    
             //   Browser b1 = new Browser();
             //  b1.Navegador ="Mozilla/5.0 Googlebot/2.1; +h";
             //   Console.WriteLine(b1.Navegador);
    
                Console.ReadKey();
    

    • Marcado como Resposta ASPX_BR sexta-feira, 9 de agosto de 2013 12:21
    sexta-feira, 9 de agosto de 2013 12:21