2021-11-23 14:40:21
#testtask #junior #answear
Разбор задач
1. (B) Ответ RTE поскольку мы запаковали в object int а распаковать пытаемся long и на строке 3 во время выполнения получаем InvalidCastException.
2. (C) Ответ 123 задача на внимательность, и на понимание того как работают ссылки, в 2 строке мы явно присваиваем строке newStr ссылку на которой в этот момент пользуется str, в 3 строке создается новый объект в куче и str перестает ссылаться на объект в котором лежит "123", но newStr так же продолжает ссылаться на "123".
3. (C) Ответ 0 задача на внимательность, четно я ошибся, не обратил внимание ни на комментарий, ни на то Where проверяет count, а не элементы Enumerable. В общем суть такова Enumerable.Repeat создает Enumerable из 100 элементов равных 1, затем мы фильтруем по выражению count < 50, а он всегда меньше, то есть в select ничего не попадает, да и даже бы если бы у нас правильно был написан Where, Select это не foreach и в конце концов в переменной бы остался 0 а в Enumerable у нас была бы коллекция от 0 до 48(49 элементов).
4. (D) Ответ False,True задача на знание того как работает параллельность, при конкурентности будет состояние гонки для присвоения count, поэтому count будет меньше чем iterations.
5. (F) Ответ 5 5 5 5 5 дело в том что в памяти на момент последней итерации count = 5, а Action ссылается именно count, и ходит за его значением не в тот момент когда выполняется первый цикл, а в тот когда он уже выполнен.
62 views11:40