Вот пример такого поведения:
Код: Выделить всё
public static string TestReturnSwitch(string name)
{
return name switch
{
"General Kenobi" => "Hello there!",
"Inigo Montoya" => "My name is Inigo Montoya [...]",
"T800" => "Sarah Connor?",
_ => "???"
};
}
Код: Выделить всё
public static string TestReturnSwitch(string name)
{
if (1 == 0)
{
}
string result = name switch
{
"General Kenobi" => "Hello there!",
"Inigo Montoya" => "My name is Inigo Montoya [...]",
"T800" => "Sarah Connor?",
_ => "???",
};
if (1 == 0)
{
}
return result;
}
То же самое поведение происходит с ILSpy v.8.2 (который использует .NET 6.0) и ILSpy v.9.0 Preview 2 (который использует .NET). 8.0).
Это ошибка ILSpy? Если нет, то почему эти инструкции добавляются?
Подробнее здесь: https://stackoverflow.com/questions/786 ... 0-in-ilspy