Да, порядок catch-блоков имеет значение.
Блоки catch проверяются сверху вниз, и первый подходящий будет выполнен.
Если более общий catch (например, Exception) находится выше специфического (например, IOException), то последний никогда не выполнится, и компилятор выдаст ошибку.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
2%
IList
10%
ICollection
56%
ISet
33%
IDictionary
Anonymous Quiz
34%
foreach (var item in asyncStream) { await; }
21%
foreach (await var item in asyncStream) { }
31%
await foreach (var item in asyncStream) { }
14%
await foreach (async var item in asyncStream) { }
Основные обобщённые делегаты:
- Action — делегат, который не возвращает значение, но может принимать параметры.
- Func — делегат, который возвращает значение и может принимать параметры.
- Predicate — делегат, который принимает один параметр и возвращает bool (подтип Func).
Различие — в наличии/отсутствии возвращаемого значения и типах параметров.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
65%
Wait
14%
Join
18%
Await
3%
Synchronize
🤔7
Anonymous Quiz
35%
Поиск в глубину
28%
Поиск в ширину
25%
Кнута-Морриса-Пратта (KMP)
13%
Дейкстры
💊4
StringBuilder используется для эффективной работы со строками, когда требуется:
- Много конкатенаций (соединений строк),
- Частые изменения содержимого,
- Циклические операции со строками.
Так как строки в .NET неизменяемы, каждая операция с string создаёт новый объект. StringBuilder решает эту проблему, позволяя изменять содержимое без создания новых строк.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Anonymous Quiz
33%
StreamReader
52%
FileStream
8%
BufferedStream
7%
StreamWriter
💊8