O que há de novo no C# 7.0 - Separador de dígitos

9/6/2016 11:04:00 PM By Felipe Pessoto

Uma pequena mas util nova funcionalidade é a possibilidade de utilizar separadores entre os dígitos, facilitando a leitura. Por exemplo:

class DigitSeparator
{
    public const int MyValue = 123_456;
    public const int MyHexValue = 0xAB_CD_EF;

    public static void Example()
    {
        Console.WriteLine(MyValue);
        Console.WriteLine(MyHexValue);
    }
}

Não há nenhuma diferença no código compilado com ou sem os separadores.

O que há de novo no C# 7.0 - Variáveis Out

8/28/2016 1:39:00 PM By Felipe Pessoto

Até o C# 6.0, chamar um método que utiliza parâmetros out não é tão fluido, pois você precisa declarar as variáveis antes de chamar o método, e nem é possível usar o var já que normalmente não se inicializa variáveis que são argumentos do método out.

Então você precisa verificar quais os tipos das variaveis utilizadas nos parametros out, voltar e declarar antes do método:

public void OutVariablesExample60()
{
    int myX;//var myX doesn't work
    int myY;

    if(MethodOut(out myX, out myY))
    {
        Console.WriteLine(myX);
    }
}

No C# 7.0 esta experiência será melhorada, ao chamar o método você pode declarar as variáveis de forma inline. Com isso o compilador sabe os tipos delas, permitindo inclusive o uso do var:

public void OutVariablesExample70()
{
    if (MethodOut(out int myX, out var myY))
    {
        Console.WriteLine(myX);
    }
}

As variáveis declaradas estarão no escopo do bloco onde o método é chamado. No Preview 4 o compilador ainda restinge o escopo para o statement onde a variável foi declarada, por isso só funciona como no exemplo acima, onde temos um bloco IF. Esta restrição será removida até a versão final.

Sempre que novas funcionalidades são acrescentadas acho interessante verificar como o código IL é gerado para saber como foi feita a implementação. Neste caso é bem simples, o novo código gera uma versão identica ao exemplo em C# 6.0.

Livro - Desenvolvimento efetivo na plataforma Microsoft

5/6/2016 7:47:38 PM By Felipe Pessoto

Com muita alegria que divulgo o lançamento do livro, escrito pelo time de Modern Apps. Todos os dias aprendo algo novo com eles e neste livro é compartilhado a experiência em DevOps, .NET, IIS e Microsoft Azure, após vivenciar diversos casos críticos nas maiores companhias do mundo.

 

Desenvolvimento efetivo na plataforma Microsoft

Como desenvolver e suportar software que funciona

 

 

Sumário

Os Engenheiros de Suporte Microsoft em Modern Apps têm a oportunidade de trabalhar com sistemas críticos nas maiores companhias do mundo dos mais diversos segmentos. Ao longo dos anos, estes profissionais qualificaram-se no desenvolvimento e suporte baseando-se nas recomendações dos produtos e em boas práticas vivenciadas nas experiências de campo. Trabalhando lado a lado com os clientes, compartilhando conhecimento com milhares de times de desenvolvimento e auxiliando cada pessoa e cada organização a atingir todo o seu potencial.

Com foco em DevOps, .NET Framework, IIS (Internet Information Services) e Microsoft Azure, desenvolvedores e arquitetos estarão aptos a aperfeiçoar a qualidade e disponibilidade de seu software, aumentar seu nível de maturidade em desenvolvimento, economizar tempo e reduzir custos.

 

Mais informações: https://www.casadocodigo.com.br/products/livro-plataforma-microsoft