Download - 2017-02-04 02 Яков Лило. Решение задач
Решение задач
Яков Лило
HWdTech
2
CodeFuse
MoneyWiz
3
Другой формат?
Как это будет?
Хороший программист?
4
Задача 1. Что выведет код?
Console.WriteLine(0.1 + 0.2 == 0.3);
Console.WriteLine(0.1 + 0.2 + 0.7 == 1);
Console.WriteLine(0.1 + 0.3 == 0.4);
5
ОтветСтандарт IEEE 754
Console.WriteLine(0.1 + 0.2 == 0.3); //False
0.110 - 0.000110011001100110011001100110011001100110011001100110120.210 - 0.00110011001100110011001100110011001100110011001100110120.310 - 0.01001100110011001100110011001100110011001100110011001120.410 - 0.0110011001100110011001100110011001100110011001100110120.710 - 0.10110011001100110011001100110011001100110011001100112
6
Ответ
True:Console.WriteLine(0.1 + 0.2 + 0.7 == 1);Console.WriteLine(0.1 + 0.3 == 0.4);
7
Задача 2. У пользователя падает...
var time = DateTime.Now.ToString("HH:mm");ThirdParty.MagicMethod(time);
//Не проходит валидация в MagicMethod.
8
Ответ
: - символ форматирования.
Разделитель компонентов времени.
Например, в Италии будет 12.07
9
Задача 3. У пользователя падает...
var date = DateTime.Now.ToString("yyyy.MM");ThirdParty.MagicMethod(date);
//Не проходит валидация в MagicMethod.
10
Ответ
● В Тайланде по Буддийской вере сегодня 4е февраля 2560 года.
● По исламскому календарю сейчас 1438 год
11
Задача 4. Что выведет код?
var actions = new List<Action>();foreach (var num in new List<int>{ 1, 2, 3 }) actions.Add(() => Console.Write(num));
foreach (var action in actions) action();
12
Ответ
В старых версиях компилятора: 333В новых версиях компилятора: 123
13
Ответ
private sealed class DisplayClass{ public int num; public void Action() { Console.WriteLine(num); }}
14
Ответ
В старых версиях:DisplayClass c = new DisplayClass();foreach (int num in new List<int>{ 1, 2, 3 }){ с.num = num; actions.Add(c.Action);}
15
Ответ
В новых версиях:foreach (int num in new List<int>{ 1, 2, 3 }){ DisplayClass c = new DisplayClass(); с.num = num; actions.Add(c.Action);}
16
Задача 5. Что выведет код?
var i = 0;var sequence = new int[3].Select(n => i++);
foreach (var number in sequence) Console.Write(number);foreach (var number in sequence) Console.Write(number);
17
Ответ
012345
18
Задача 6. Что выведет код?
var x = new{ Items = new List<int>{1, 2}.GetEnumerator()};
while (x.Items.MoveNext()) Console.WriteLine(x.Items.Current);
19
https://vk.com/hwdtech
20