Usuário com melhor resposta
Criar uma classe de formatar string e chama-la

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 chamarnomeclass.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
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
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
-
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.
-
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