quarta-feira, 20 de julho de 2011

C# - Replace ignorando maiúsculas e minúsculas (Case Insensitive)

Fala galera,

Segue mais um código para quem precisa fazer o replace de uma string ignorando letras maiúsculas e minúsculas (Case Insensitive).

Essa é mais uma das funções que são, na minha opinião, desnecessariamente muito mais complicadas no C# do que no VB.net.

Complicado não pela sintaxe, mas pela mudança na característica da função.
O que exige a busca por uma solução alternativa.

No VB.Net, a função replace possui uma sobrecarga que permite informar que o método de comparação da string irá ignorar maiúsculas e minúsculas.

No C# isso não existe.
Para fazer isso vamos recorrer a classe RegEx.

Veja como fazer o replace:

string value = "Sua Mensagem";
value = System.Text.RegularExpressions.Regex.Replace(value, "mensagem", "mensagem alterada", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
Response.Write(value);

Um abraço e até a próxima!!

terça-feira, 5 de julho de 2011

C# - Split usando mais de um delimitador

Fala galera,

Segue mais uma dica para quem, como eu, migrou do VB.Net para o C# e se deparou com algumas mudanças em funções bastante rotineiras como o SPLIT.

No VB.Net o uso desta função é bem mais simplificado. Algo como: Split("string","@@")

No C# não é bem assim. Segue o código:
string teste = "String1@@String2";
string[] arrList = teste.Split(new char[] {'@', '@'}, StringSplitOptions.RemoveEmptyEntries);

Atenção para o texto em negrito. Pois ao fazer o split de uma string utilizando mais de um delimitador são gerados inúmeras posições em branco no seu array.
Ao utilizar a opção "RemoveEmptyEntries" todas essas posições em branco serão automaticamente removidas do array.

Um abraço e até a próxima!!

quinta-feira, 6 de janeiro de 2011

LINQ to SQL - Ordenando Dados Randomicamente

Fala, galera!!

Depois de alguns meses sem postar, estou voltando com uma postagem relâmpago, mas bastante útil.
Hoje vou mostrar como ordenar randomicamente uma lista utilizando o LINQ e expressão lambda.

Antes do LINQ, a ordenação era feita via SQL utilizando "Order by NewID".

Segue o código para a ordenação randomica no LINQ:

dim db as DataContext()
dim rnd as random = new random()
db.Tabela.OrderBy(function(obj)  rnd.Next).tolist()

Simples assim.

Um abraço e até a próxima!!