Les nouveautés de C# 7 et Visual Studio 15 Preview

A la conférence Build, Microsoft a annoncé la release de Visual Studio 15 Preview qui supporte un certain nombre d’extension du langage C# 7 grâce au compilateur Roslyn comme : 

- Fonction local imbriquée

- Pattern matching

- Ref returns

- Etc…

 

Voici quelques exemples parmi ces nouveautés :

C# 7

Certaines fonctionnalités sont toujours expérimentales et ne seront peut-être pas présentes dans les spécifications finales de C# 7.

Si vous souhaitez jouer un peu avec celles-ci, installez VS 15 Preview et ajoutez les symboles de compilation conditionnelle suivant : __DEMO__ et __DEMO_EXPERIMENTAL__ à votre projet.

 

CSharp7

 

int[] numbers = { 0b1, 0b10, 0b100 };

Binary literal

 

object obj;
// ...
switch (obj)
{
    case int i:
        break;

    case IEnumerable<object> l when l.Any():
        break;

    case null:
        break;

    default:
        break;
}

Pattern matching

 

static void Main(string[] args)
{
    int NestedFunction()
    {
        // ...
        return 0;
    }

    int result = NestedFunction();
}

Nested function

 

static void Main(string[] args)
{
    var data = new { 1, 2, 3 };
    var namedTuple = ExternalFunction(data);
    Console.WriteLine($"Sum: {namedTuple.sum}, Count: {namedTuple.count}");
}

public (int sum, int count) ExternalFunction(IEnumerable<int> data)
{
    //...
}

Named tuple returns type

 

Visual Studio 15 Preview

L’IDE apporte également son lot de nouveauté avec un résolveur de type capable de détecter les noms incorrects, la spécification de codage, etc…. En d’autres termes, VS commence à inclure nativement les fonctionnalités de Resharper  :)

 

image

Type resolver

 

image

Coding convention

Enjoy !

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus