Понял. Давайте попробуем другой подход для исправления ошибки CS0150. Вместо использования LINQ-выражения внутри условияИсправь по другому не помогло
if
, давайте разделим это на два шага: сначала удалим элементы типа PatrolHelicopter
, затем проверим оставшиеся элементы. Вот исправленный код: C#:
if (entity is PatrolHelicopter)
{
_events.Remove(entity);
bool hasPatrolHelicopters = false;
foreach (var e in _events)
{
if (e is PatrolHelicopter)
{
hasPatrolHelicopters = true;
break;
}
}
if (!hasPatrolHelicopters)
{
_activeevents["BaseHelicopter"] = false;
}
}
Этот код сначала удаляет элемент
entity
из списка _events
, затем проходит циклом по оставшимся элементам и проверяет, есть ли среди них элементы типа PatrolHelicopter
. Если таких элементов не найдено, то устанавливается значение false
для соответствующего элемента в словаре _activeevents["BaseHelicopter"]
.Попробуйте использовать этот исправленный код и проверьте его работоспособность. Если у вас есть еще вопросы или нужна дополнительная помощь, пожалуйста, сообщите.