NET Framework e as novidades do C# 6

 

Com o lançamento de Roslyn, o compilador nuvem NET, temos a nossa primeira visão das características que possam vir a fazê-lo em C# 6.0 – por que tão pouca publicidade sobre um grande evento?

c#

Roslyn é o compilador NET totalmente reformulado e uma de suas características a promessa é que ela torna mais fácil adicionar recursos de linguagem. Como parte do lançamento do código-fonte Roslyn à Fundação NET também temos uma lista de “recursos de linguagem”. Estes listar os recursos, todas as 35 deles, que foram ou estão sendo adicionados ao C# e Visual Basic. Muitos desses novos recursos são pequenas modificações para coisas que já existem e as notas afirmam que eles estão longe de final e pode ser alterado a qualquer momento. Isso tudo é o mais provável, uma vez que Roslyn faz claramente fazer as alterações de linguagem mais fácil.

Então, quais são as grandes novidades?

Para ser honesto – não há qualquer.

A maioria das mudanças que estão listados são pequenas e muitas vezes apenas atingir o que veio a ser chamado de açúcar sintático ou seja, formas mais curtas de escrever as coisas que você já pode fazer.

propriedades

Uma mudança interessante é a maneira que nós podemos criar auto-propriedades. Agora você pode definir somente leitura auto-propriedades e você pode inicializa-la. Por exemplo:

public int Y {get; } = Y;

cria um “get-only” propriedade Y e inicializa-lo para y.

O que é um pouco estranho é a idéia de uma expressão membro bodied uma mistura de inicialização de propriedade e expressões lambda. Por exemplo:

int X => x * x;

define um membro que retorna o quadrado de x ou seja,

int X {get {x * x;}};

Inicialização

A equipe foram geralmente ocupado implementação de outras variações sobre inicializadores. Por exemplo, agora você pode inicializar um objeto Dicionário

novo Dictionary <string> <int> {[“x”] = 3, [“y”] = 7};

e qualquer objeto apoiar um indexador como uma propriedade (ver: Em busca de propriedades padrão). Você também pode executar um acesso de índice usando a sintaxe da propriedade. Por exemplo, em vez de:

indexObject [“x”];

você pode escrever

indexObject. $ x

O novo construtor primário fornece uma outra maneira de inicializar objetos. Se você incluir algo que se parece com um construtor, como parte da definição de classe, por exemplo,

Ponto public class (int x, int y) {}

em seguida, os membros privados são criadas para os parâmetros e atribuído automaticamente eo exemplo é equivalente a:

public class Ponto {

private int x, y;

Ponto pública (int x, int y) {

this.x = x;

this.y = y;

}

}

Microsoft.net

Esse é o construtor primário define um conjunto de membros privados que são inicializados quando o objeto é criado. Depois de ter um construtor primário todos os outros construtores têm de chamá-lo utilizando o formulário esta (parâmetros primários) eg este (x, y), de modo que ele possa inicializar os membros particulares.

Um novo inicializador mais surpreendente é para um evento:

novo Button {OnClick + = eventHandler};

esta quase se sente como JavaScript!

Expressões e literais

Falando de JavaScript (ou C) também é um novo operador ponto e vírgula que permite encadear tantas expressões como você gosta e o valor da expressão é o valor da última. O objectivo deste aditamento é permitir que você tem vários passos em partes da linguagem que só permitem uma única expressão a ser inserido. Por exemplo:

var x = (var y = rand (10), y * y);

define x ao quadrado de um número aleatório.

Outra característica expressão novo é a capacidade de declarar variáveis ​​dentro de uma expressão. por exemplo

var y = (int x = 3) * x;

define y a 9.

Há alguns pequenos mas agradáveis ​​adições à forma como literais podem ser usadas. Existe agora uma literal binário:

int x = 0b0111;

Você pode usar separadores de dígitos para a apresentação e para se certificar de que você contou o número correto de dígitos:

int x = 0xFF_00_FF_00;

Você pode facilmente criar strings literais de várias linhas:

“Olá <nova_linha> Mundo”;

e strings literais pode incorporar variáveis ​​usando interpolação de string:

“Olá \ {record.name) como você está hoje?”

ainda que este é apenas um “talvez” por isso não poderia fazê-lo em C# 6.

Outra extensão interessante é a capacidade de usar métodos estáticos com mais facilidade. Por exemplo, se você quiser apenas a raiz quadrada e usar algumas outras funções matemáticas que têm atualmente a escrever coisas como:

var a = Math.Sqrt (Math.Sin (0,5));

mas agora você pode escrever

Usando System.Math;

var a = sqrt (Sin (0,5));

 

Clique aqui para baixar o Microsoft .NET Framework 4.5.2 (Instalador Offline) para Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2, Windows Server 2008 R2 SP1, Windows Server 2012 e Windows Server 2012 R2

 

blogtecnoword

A tecnologia a um click

Olá cadastre seu email Gratuitamente para dicas:

Delivered by FeedBurner