Рассмотрим следующий фрагмент:
"12-18" -Contains "-"
Вы думаете, что это оценивается как true, но это не так. Это будет оцениваться вместо false. Я не уверен, почему это происходит, но это так.
Чтобы этого избежать, вы можете использовать это вместо:
"12-18".Contains("-")
Теперь выражение будет оцениваться как true.
Почему первый фрагмент кода ведет себя так? есть ли что-то особенное в -, которое отлично не играет с -Contains? В документации ничего не говорится об этом.