В каких случаях имеют смысл var-шаблоны?

255
08 марта 2018, 08:41

В C# 7.0 появились var-шаблоны которые судя по документации всегда trueи нужны для создания новой переменной с таким же типом и значением.

Накидал тестовый метод, штука действительно работает.

private void TestPattern(object k)
{
    if (k is var test) Console.WriteLine("Result: " + test.GetType() + " " +  test);
    Console.ReadKey();
}

Однако нахожу ее абсолютно бессмысленной. Более того, код как по мне жутко не читабельный и не очевидный.

Так для каких ситуаций собственно нужен этот шаблон?

Answer 1

Это может быть применимо для введения временной переменной в выражении, например:

public void VarPattern(IEnumerable<string> s)
{
    if (s.FirstOrDefault(o => o != null) is var v
        && int.TryParse(v, out var n))
    {
        Console.WriteLine(n);
    }
}
READ ALSO
Сортировка TreeMap StringComparer.Ordinal

Сортировка TreeMap StringComparer.Ordinal

Сортировка TreeMap по ключу в Java, также как в C# я сортировал массив:

278
nbitcoin управление кошельком

nbitcoin управление кошельком

Стоит задача : управлять биткоин кошельком программно, средствами c#Долго гуглив, наткнулся на библиотеку NBitcoin, на сколько я понял, мы передаем...

273
waypointsне работает на Mac OS

waypointsне работает на Mac OS

Всем привет, использую плагин waypointsjsдля отслеживания скролла на странице

286
Проблема с условием в js

Проблема с условием в js

Сравниваю по одному и тому-же условию но разными способами и на выходе получаются совершенно разные результаты закомментированное условие...

300