Целевой new
Целевой new - это запись new()
или new { … } без имени типа после
new.
Тип берётся из объявления переменной, поля
или возвращаемого значения слева. Так код
короче, когда длинное имя типа уже указано
один раз.
Синтаксис
Тип имя = new();
Тип имя = new() { элементы };
Пример
Давайте создадим список целых без повтора типа:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new() {1, 2, 3, 4, 5};
Console.WriteLine(nums.Count);
}
}
Результат выполнения кода:
5
Пример
Давайте прочитаем элемент созданного списка:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> nums = new() {1, 2, 3, 4, 5};
Console.WriteLine(nums[0]);
}
}
Результат выполнения кода:
1
Пример
Давайте создадим список строк целевым new:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List<string> items = new() {"a", "b", "c", "d", "e"};
Console.WriteLine(items[1]);
}
}
Результат выполнения кода:
"b"
Пример
Давайте вернём новый список из метода:
using System;
using System.Collections.Generic;
class Program
{
static List<int> BuildNums()
{
return new() {1, 2, 3, 4, 5};
}
static void Main()
{
List<int> nums = BuildNums();
Console.WriteLine(nums[4]);
}
}
Результат выполнения кода:
5