Как оператор может иметь как =, так и ==?

Я нашел этот другой вопрос о переполнении стека о файлах и каталогах , и ответ включал это Утверждение:

bool isDir = (File.GetAttributes(path) & FileAttributes.Directory)
             == FileAttributes.Directory;

Его вопрос был о .net, а я программировал на C# .net в Visual Studio. Работает ли возможность иметь оператор присваивания и оператор равенства в одном выражении для всех языков .net или нет? специфичны для определенных? Кроме того, могу ли я получить объяснение того, как работает приведенный выше код? Предполагая, что pathотносится к каталогу, я ожидаю, что isDirбудет истинным, но можеткто-нибудь объяснит почему?

6
задан Community 23 May 2017 в 12:20
поделиться