Логические операторы в C#, не могу разобраться. Пожалуйста помогите

Суть в том что если я пенсионер или студент и не трудоустроен, то получаю кредит, а если трудоустроен не получаю кредит. Ну а если я, и пенсионер и студент,(трудоустройство тут не имеет значения) то не должен получить. Какие есть способы решить эту задачу, подставил все возможное и что-нибудь да не сходится(
Объясните пожалуйста если не сложно. Спасибо!

        Console.Write("Как вас зовут?: ");
        string name = Console.ReadLine();

        Console.Write($"{name} являетесь ли вы пенсионером?: ");
        bool isPensioner = Console.ReadLine().Contains("да");

        Console.Write($"{name} являетесь ли вы студентом?: ");
        bool isStudent = Console.ReadLine().Contains("да");

        Console.Write($"{name} вы уже трудоустроены?: ");
        bool isEmployment = Console.ReadLine().Contains("да");

        bool creditAllowed = isPensioner ^ isStudent ^ isEmployment;

        Console.Write($"{name} имеет право получить кредит: {creditAllowed}");

        Console.ReadKey();

Ответы (2 шт):

Автор решения: Exploding Kitten
var creditAllowed = (isPensioner ^ isStudent) && !isEmployment;

Первой скобкой с оператором xor мы проверяем, не является ли у нас человек одновременно студентом и пенсионером, т.к. при true ^ true мы получим false и кредит не будет выдавать, даже не проверяя трудоустройство, т.к. используется оператор &&, который при не выполняет проверку правого выражения, если левое ложно. А оператор ! мы используем в соответствии с условием.

→ Ссылка
Автор решения: KuzCode
  • ! - логическое НЕ
  • && - логическое И
  • ^ - логическое исключающее ИЛИ (назовём его ЛИБО)

Кредит если (НЕ трудоустроен) И (пенсионер ЛИБО студент):

bool creditAllowed = !isEmployment && (isPensioner ^ isStudent);
→ Ссылка