Введение
В этой статье будут рассмотрены несколько новых возможностей предварительной версии языка C# 6.0. Любая изложенная информация может быть изменена.
В 2014 году состоялась очередная Build конференция разработчиков Microsoft. Самым важным событием для .NET разработчиков на этой конференции было объявление о выпуске следующей версии .NET компилятора С# - Roslyn.
Roslyn
Roslyn – платформа компиляторов с открытым исходным кодом для языков C# и Visual Basic. Особенностью платформы является не только открытый код, но и интерфейс API для расширения возможностей компилятора. Используя Roslyn, очень упрощается задача разработки инструментов анализа исходного кода.
В Июне 2014 Microsoft анонсировал выпуск Visual Studio 2014 CTP (Community Technology Preview), которую можно скачать по ссылке. Особенностью данной версии Visual Studio является активное использование нового компилятора Roslyn.
Новые возможности языка С#
Следующие примеры будут работать в Visual Studio 2014 CTP или в Visual Studio 2013 при наличии .NET Compiler Platform (Roslyn) Preview for Visual Studio 2013.
Индексированные члены (Indexed Members) – возможность обращаться к индексам коллекций со строковыми ключами через синтаксис, подобный обращению к свойствам.
Dictionary<string, string> dictionary = new Dictionary<string, string>();
dictionary.Add("FirstName", "Ivan");
dictionary.Add("LastName", "Ivanov");
dictionary.Add("Age", "20");
Console.WriteLine(dictionary.$FirstName); // или dictionary["FirstName"]
Console.WriteLine(dictionary.$LastName);
Console.WriteLine(dictionary.$Age);
Инициализация авто свойств (Auto property initialization) – возможность задать значение авто свойству при его объявлении.
Видео курсы по схожей тематике:
class MyClass
{
public int Prop1 { get; set; } = 10;
public string Prop2 { get; set; } = "Hello world";
}
Основной конструктор (primary constructor) – возможность создать и использовать конструктор без явного определения.
class Human(string firstName, string lastName, int age)
{
public string FirstName { get; set; } = firstName;
public string LastName { get; set; } = lastName;
public int Age { get; set; } = age;
}
Human h2 = new Human("Ivan", "Ivanov", 20);
Выражения объявлений (declaration expressions) – возможность объявить переменную в выражении, например, в параметрах вызываемого метода.
Console.Write("Enter number: ");
string input = Console.ReadLine();
if (Int32.TryParse(input, out var result))
{
Console.WriteLine("Вы ввели значение " + result);
}
else
{
Console.WriteLine("Введен не правильный формат данных");
}
Статьи по схожей тематике