Ключевое слово “is”

230
10 ноября 2017, 07:05

Подскажите почему возникают ошибки.

public override bool Equals(object obj)
{
    return obj is mainClass mC && mC.x == this.x && mC.y == this.y;
}  

Получаю ошибку в этой строке obj is mainClass mC :

Ошибка 1 В качестве оператора могут использоваться только выражения присваивания, вызова, инкремента, декремента, ожидания и создания нового объекта
Ошибка 2 Элемент "mC" не существует в текущем контексте.
Ошибка 3 Требуется ";"

Answer 1

Мне кажется что переменная mC появится только после проверки всего условия.

Я бы написал эту функцию вот так:

public override bool Equals(object obj)
{
    bool result = false;
    if (obj is mainClass mC)
    {
        result = mC.x == this.x && mC.y == this.y;
    }
    return result;
}
READ ALSO
C# OpenGL.Net и gluLookAt

C# OpenGL.Net и gluLookAt

Доброго времени суток! Есть ли в OpenGLNet gluLookAt или его аналог? Если нет, то как устанавливать и управлять камерой?

259
Как определить на какую кнопку нажал пользователь

Как определить на какую кнопку нажал пользователь

Итак, есть 5 кнопок на экране, нужно определить на какую кнопку нажал пользователь и взять её тег после чего редирект на другое активитиПытался...

333
TextBlock с подсветкой текста

TextBlock с подсветкой текста

Столкнулся с необходимостью выделения фрагмента текста в TextBlock, а именно определённых ключевых слов по которым были отфильтрованы элементы...

258