Я видел этот пример шаблона var в новом С# 7
if (o is var x) Console.WriteLine($"it a var pattern with the type {x?.GetType()?.Name}");
В чем отличие использования:
var x = o;
Console.WriteLine($"it a var pattern with the type {x?.GetType()?.Name}");
И когда этот шаблон является полезным решением.