Metodo para randomizar(sorter) strings em Asp.net C#

(Method to randomize (sorter) strings in C # Asp.net)

Olá, Webianos, Olha eu aqui denovo!

Eu estava sumido pois estava muito ocupado com projetos pessoais e alguns freelas, consumindo todo meu tempo.

Quando desenvolvemos projetos grandes é muito usual e totalmente recomendado criarmos uma classe com metodos praticos, comuns e reutilizaveis.

Desta vez vou explicar como criar um metodo muito util para aplicações diversas, tais como:

a. Sorteio de prêmios em sistema de concurso(promoções);
b. Noticia destaque (randomica) no site;
c. Criar banner randomicos;
d. Randomizar a exibição dos boxes da home do seu site;
e. Trocar automaticamente o fundo do site e estrutura de estilos (css);
f. sistema de perguntas e respostas (quiz);
g. Alterar usuarios de conexão em sistema de grande acesso – Foi por este motivo inicial que criei este metodo (sorter de connectionString;
h. Randomizar coisas.

Objetivo do Metodo é realizar sorteio(sorter) randomico e aleatorio de um conjunto de elementos.

Nos meus projetos eu organizo da seguinte forma:
Folder Util
1. Eu criei uma pasta “Util” dentro de App_Code.
2. Dentro desta pasta “Util” criei um arquivo(class) “cDiversos.cs

Dentro desta pasta “Util”, vc poderá criar varios arquivos de utilidades ao sistema.
Se vc observar na imagem ao lado eu criei um outro arquivo tambem, chamado “cValidador.cs“. Onde contem metodos usado na validação de elementos da aplicação, por exemplo string, datas e outras regras de negocio(basicas) proprias do sistema.
Em outro artigo irei explicar como fazer uma classe deste tipo.

Para melhor organização destas classes, eu uso sempre namespace. E o namespace deste arquivo foi classe.util.
Assim basta colocar using classe.util para utilizar as classes e metodos deste grupo de arquivos que vc tem na mesma namespace.

O arquivo cDiversos.cs ficou assim:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace classe.util
{
/// <summary>
/// Classe cDiversos, grupo de utilidades e methods comuns reutilizaveis.
/// </summary>

public class cDiversos
{
/// <summary>
/// Method responsavel em realizar um sorter randomico e aleatorio dos elementos inputados
/// </summary>
/// <param name=”input”>Parametros de string separados por virgula: ArraySorter(“bola”,”internet”,”mulher”, “cerveja”); </param>
/// <returns>string populado com elemento sorteado</returns>
/// <example>
///   string teste = cDiversos.ArraySorter(“bola”,”internet”,”mulher”, “cerveja”);
///   Response.Write(teste);
/// </example>

public static String ArraySorter(params string[] input)
{
ArrayList arrinput = new ArrayList();
for (int i = 0; i < input.Length; i++)
{
arrinput.Add(input[i]);
}
Random rnd = new Random();
int num = rnd.Next(arrinput.Count);
return arrinput[num].ToString();
}
}

}

Para utilizar este metodo é simples, vamos chamar o metodo diretamente. Isso acontece pq eu usei “public static” na construção do metodo, assim vc não precisa Instacear para utilizar.

Veja como usar: Default.aspx.cs

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using classe.util;

public partial class _Default: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string JogadorDestaque;

JogadorDestaque = cDiversos.ArraySorter(“Ronaldo Gaucho”, “Kaka”, “Pele”, “Ronaldo Fenomeno”, “Zico”);

Response.Write(JogadorDestaque);

}
}

Depois é so abrir o arquivo Default.aspx (view in browser) para ver o resultado.
Observe que toda vez que abrir(ou executar F5) o arquivo aparecerá outro nome(JogardorDestaque), sorteado randomicamente pelo metodo que vc acabou de criar.

Conseguiu? Parabens… não conseguiu? observe atentamente as linhas do arquivo e lembre de usar using e namespace.

P.s.: Este metodo foi desenvolvido somente para sortear strings, mas vc pode melhorar ele para suportar int, date e outros elementos. Se melhorar este, poste ele aqui para outras pessoas usarem.

Pronto, simples! muito simples!!!

Um comentário sobre “Metodo para randomizar(sorter) strings em Asp.net C#

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s