Главная
Блог разработчиков phpBB
 
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама

10 примитивных задач на c# с подвохом

Anna | 17.06.2014 | нет комментариев
Здравствуй прогр!

Цель этой статьи корыстолюбивая, а именно приобретения инвайта. Но о чём написать, Дабы материал был индивидуальным и не схожим на другие публикации, в которых нередко слова легко меняются местами. Мне хотелось придумать свою нишу, и вот как-то на собеседовании я получил задание, где спрашивалось, через какой символ перечисляются интерфейсы при наследовании, ”:” либо “,”. Безусловно искушенные прогрожители с такими примерами даже под кат не зайдут, следственно я развил эту тему и получились “задачи с подвохом”, которые малы и решаются без IDE. Именно задач по моему суждению, на источнике представлено немного, а заданий на синтаксис я вообще не встречал.

Если вы найдёте эти примеры увлекательными, я готов написать ещё, но они будут объёмнее(10-15 строк), а теперь я вынужден опубликовать короткие, Дабы читатель не утратил интерес и не соскочил.
Вначале парочку дюже примитивных, а потом потруднее, на подсчитать. Поехали!

Задача 1

Какой итог вернёт способ?

private bool SimpleComparison()
{
    return new byte() == new byte();
}

Варианты:
а) true
b) false

Задача 2

Какой итог вернёт иной способ?

private bool AnotherSimpleComparison()
{
    return new byte[0] == new byte[0];
}

Варианты:
а) true
b) false

Задача 3

Скомпилируется ли прогрокласс?

public class HabraClass
{
    public int Id { set; get; }
}

Варианты:
а) да
b) нет

Задача 4

Скомпилируется ли данный способ? Если да, что он вернёт?

private bool Jeez()
{
    if (null == (object)null != false)
    {
        return true;
    }

    return false;
}

Варианты:
а) оплошность компиляции
b) исключение в run time
c) вернёт true
d) вернёт false

Задача 5

Скомпилируется ли данный способ?

private void Hello()
{
    throw;
}

Варианты:
а) да
b) нет

Задача 6

А данный?

private void SafeHello()
{
    try
    {
        throw;
    }
    catch { }
}

Варианты:
а) да
b) нет

Задача 7

Какое число будет выведено на экран?

private void Do()
{
    int i = 0;
    i  = Increment(ref i);

    Console.WriteLine(i);
}

private int Increment(ref int i)
{
    return i  ;
}

Варианты:
а) 0
b) 1
c) 2

Задача 8

Скомпилируется ли данный способ? Если да, что будет выведено на экран?

private void Do()
{
    int i = 0;

    Action<int> action = ref value =>
        {
            i = i  ;
        };

    action(ref i);

    Console.WriteLine(i);
}

Варианты:
а) оплошность компиляции
b) исключение в run time
c) 0
d) 1

Задача 9

Сработает ли дальнейший код?

private void Do()
{
    using (var stream = new MemoryStream())
    {
        stream = new MemoryStream();
    }
}

Варианты:
а) оплошность компиляции
b) исключение в run time
c) выполнится без ошибок

Задача 10

Подсчитайте, чему равно linqCounter?

private void Do()
{
    int linqCounter = 0;
    var source = new List<byte> { 0, 0, 1, 0, 1 };

    var bytes = source.Where(x =>
    {
        linqCounter   ;
        return x > 0;
    });

    if (bytes.First() == bytes.Last())
    {
        Console.WriteLine(linqCounter--);
    }
    else
    {
        Console.WriteLine(linqCounter  );
    }
}
Итоги, обзор

Я думаю нет смысла удлинять пост и делать обзор задач, когда их дозволено скопировать в VS и проверить. Спасибо за внимание, верю я сумел вас запутать ;)

Результаты:
Спрятанный текст

Задача 1 — а) true
Задача 2 — b) false
Задача 3 — а) да
Задача 4 — c) true
Задача 5 — b) нет
Задача 6 — b) нет
Задача 7 — а) 0
Задача 8 — а) оплошность компиляции
Задача 9 — а) оплошность компиляции
Задача 10 — 8

 

 Источник: programmingmaster.ru
Оставить комментарий
Форум phpBB, русская поддержка форума phpBB
Рейтинг@Mail.ru 2008 - 2017 © BB3x.ru - русская поддержка форума phpBB