C#7 introduces a new feature called patterns, which you can use with Is-Expression or Switch cases like this:
string str = null;
switch(str){
case string x:
Console.WriteLine("string " + x);
break;
default:
Console.WriteLine("default");
break;
}
and you would expect that it will goes inside case #1, as it is the same type, but it didn't.