Использование двух знаков равенства в Visual Basic 2008 - PullRequest
2 голосов
/ 13 февраля 2011

В коде, почему бы это не сработало?

intMax = intTopValue = 20

1 Ответ

7 голосов
/ 13 февраля 2011

Это интерпретируется как intMax = (intTopValue = 20).

intTopValue = 20, чтобы проверить, равно ли intTopValue значение 20, и вернет истину или ложь.
Этот логический параметр будет назначен intMax.

У большинства языков такой проблемы нет, поскольку они используют отдельные операторы для присваивания (= или :=) и равенства (== или =).

В отличие от этого, VB разделяет = для обеих операций.Поэтому, когда a = b записывается как выражение, это всегда означает равенство.

...