Задача Задача №3454174
А
А
Ниже ответы по каждому из вопросов с краткими примерами там, где это полезно.
- 5 / 2 в C#
- Результат: 2, если оба операнда целочисленные (int). Это целочисленное деление, дробная часть отбрасывается.
- Чтобы получить дробное значение, использовать операторы с плавающей точкой, например 5 / 2.0 = 2.5.
- Остаток от деления: оператор %. Пример: 5 % 2 = 1.
- Примечание: для отрицательных чисел остаток имеет тот же знак, что и делимое.
- Разница между & и &&, | и | (упоминание ?) и почему использовать короткоцепочные &&, || для условий
- & и | — побитовые операторы. При работе с логическими операторами они вычисляют оба операнда всегда (нет short-circuit).
- && и || — условные логические операторы. Они short-circuit: если левая часть достаточна для вывода результата, правая часть не вычисляется.
- Зачем использовать &&, || в if:
- можно избежать исключений и лишних вычислений, например: if (obj != null && obj.Value > 0) — если obj == null, правая часть не выполняется.
- ? (тернарный оператор) — условный оператор, коротко заменяет if-else выражение: condition ? expr1 : expr2.
- Как работает if с блоками else if и else; когда выполняется блок else; может ли существовать без if
- Выполнение идёт слева направо по цепочке: сначала проверяется первое условие в if; если оно истинно — выполняется его блок и далее цепочка пропускается.
- Если оно ложно, переходим к следующему else if (если есть) и так далее.
- Блок else выполняется, если все предыдущие условия оказались ложными. -else без связанного с ним if невозможно: else всегда привязан к ближайшему сверху if в той же цепочке.
- Структура цикла for (инициализатор, условие, итератор)
- Синтаксис: for (инициализатор; условие; итератор) { тело }
- Роль каждого компонента:
- Инициализатор выполняется один раз в начале цикла.
- Условие проверяется перед каждоЙ итерацией; если ложное — цикл завершается.
- Итератор выполняется после каждой итерации тела цикла.
- Порядок выполнения: инициализация -> проверка условия -> выполнение тела -> итератор -> новая проверка условия и т.д.
- Можно опускать части: for (; условие ;) или for (инициализатор;;) и т.д.
- Break и continue в цикле for
- break: полностью прерывает цикл и продолжает выполнение кода сразу после блока цикла.
- continue: пропускает оставшуюся часть тела текущей итерации и переходит к следующей итерации (выполняется итератор, затем повторная проверка условия).
- Пример: по данным условиям, если найдена ошибка, break; если элемент удовлетворяет условию, продолжаем следующую итерацию через continue.
- Три основных способа объединения строк
- Конкатенация через оператор +: "Hello " + name
- Интерполяция строк: $"Hello {name}"
- String.Format: String.Format("Hello {0}", name)
- Наиболее современный, читаемый и минимизирующий ошибки способ — интерполяция строк ($"...").
- Как получить первый и последний символ строки через индексирование
- Первый символ: s[0]
- Последний символ: s[s.Length - 1]
- Важные предупреждения:
- Нужно учитывать нулевую длину: если строка пустая (s.Length == 0), доступ к s[0] или s[s.Length - 1] вызовет IndexOutOfRangeException.
- Считайте, что строка не может быть null; если есть вероятность, проверьте s != null перед доступом: if (s != null && s.Length > 0) { char first = s[0]; char last = s[s.Length - 1]; }
Если нужно, могу привести компактные примеры кода для каждого пункта.