ReSharper предлагает изменить код сопоставления с образцом для шаблона объекта - PullRequest
1 голос
/ 17 октября 2019

ReSharper предлагает изменить следующий код:

if (MyString is string myString)
{
    //...
}

на шаблон объекта:

if (MyString is { } myString)
{
    //...
}

В нем говорится:

Исходное выражение всегдаТип шаблона, совпадает со всеми ненулевыми значениями.

Я никогда раньше не видел этот синтаксис и не могу найти документацию по нему. Что это такое и что оно делает?

1 Ответ

2 голосов
/ 17 октября 2019

{} означает not null, но не вызывает оператора !=, поэтому он безопасен как оператор is null, который не вызывает оператора ==.

Отсутствует информация об этом. Я нашел тему на github об этом. Я думаю, сейчас это функция предварительного просмотра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...