8 = 2³
Posts tagged C#
Utilizar a API do bit.ly para gerar um url curto em C#
Abr 24th
Hoje andei a dar uma olhadela à API do serviço bit.ly. Para utilizarmos basta mesmo criar uma conta, e com a key que gera para utilizarmos a API rapidamente fazemos qualquer brincadeira.
Segue um exemplo rápido de como gerar um link curto a partir da URL inserida.
string username = "username";
string api = "your_api_key";
using (WebClient w = new WebClient())
{
string LongUrl = "http://oito.geracaohd.com";
string bitLyUrl =string.Format("http://api.bit.ly/v3/shorten?login={0}&apiKey={1}&uri={2}&format=txt",username,api,LongUrl);
string ShortUrl = w.DownloadString(bitLyUrl);
Console.Write(ShortUrl);
Console.Read();
}
E temos algo como isto:

Extrair texto entre tags HTML (LINQ+Regex)
Abr 15th
Hoje o meu colega de trabalho pediu-me para o ajudar a extrair uma parte do texto de uma página p/ ser posteriormente enviado.
Não se trata nada de complexo, apenas apeteceu-me deixar aqui p/ consultar mais tarde caso precise
O HTML da página que deve ser pesquisado é algo como:
<TD valign=top colspan=6>TESTE 1XPTO ONLINE</TD>
Para o fazer, fiz o seguinte código:
Regex r = new Regex("<TD(.*?)>(.*?)</TD>");
string s = @"<TD valign=top colspan=6>TESTE 1XPTO ONLINE</TD>
<TD valign=top colspan=6>TESTE 2XPTO ONLINE</TD>
<TD valign=top colspan=6>TESTE 3XPTO ONLINE</TD>
<TD valign=top colspan=6>TESTE 4XPTO ONLINE</TD>
<TD valign=top colspan=6>TESTE 5XPTO ONLINE</TD>";
MatchCollection mc = r.Matches(s);
foreach (Match m in mc)
{
Console.WriteLine(m.Groups[2].Value.Trim());
}
Outra forma de fazer o mesmo, e recorrendo ao LINQ, é esta:
var q = from Match m in new Regex(@"<TD(.*?)>(.*?)</TD>").Matches(s)
select m.Groups[2].Value.Trim();
q.ToArray<string>().ToList().ForEach(new Action<string>(EnviarSinais));
Por fim, basta criar a função EnviarSinais:
static void EnviarSinais(string str)
{
Console.WriteLine(str);
}
Quanto ao código em LINQ, se houver melhor forma de o fazer, indiquem pf
Livro LINQ com C#
Mai 18th
Foi lançado o livro de LINQ com C#, escrito pelo Paulo Morgado e pelo Luis Abreu.
Certamente que temos aqui uma boa referência para este tema, tendo em conta a qualidade de informação que estamos habituados a ver cedidas por ambos os autores.
C# yield
Set 13th
A expressão yield é bastante útil quando queremos os valores de um método que retorna um IEnumerable ou IEnumerator.
Para retornarmos os valores entre o intervalo passado como parâmetro no método GetValuesFromInterval() teriamos algo assim:
static IEnumerable<int> GetValuesFromInterval(int min, int max) { List<int> intervalo = new List<int>(); for (int i = min+1; i < max; i++) { intervalo.Add(i); } return intervalo; }
Neste exemplo, para retornarmos todos os valores precisamos de criar um List e adicionar todos os nºs do intervalo que indicamos, e por fim retornarmos o List.
Com a expressão yield deixamos de precisar de criar um List e ficamos com o código bastante mais elegante.
static IEnumerable<int> GetValuesFromInterval(int min, int max) { for (int i = min + 1; i < max; i++) { yield return i; } }
Twitter
LinkedIn
Facebook
FriendFeed
Google Profile
Delicious


