Какое ограничение можно использовать, чтобы убедиться, что обобщённый параметр типа T имеет реализацию оператора + ?
#Quiz #CSharp
#Quiz #CSharp
Anonymous Quiz
23%
where T: operator +
3%
where T: mathematical
65%
для оператора + не существует ограничения типа
10%
where T: numerical
Что будет при выполнении этого кода?
var myDict = new Dictionary<int, string>(); myDict.Add(10, "Ten"); myDict.Add(10, "10"); #Quiz #CSharp
var myDict = new Dictionary<int, string>(); myDict.Add(10, "Ten"); myDict.Add(10, "10"); #Quiz #CSharp
Anonymous Quiz
2%
Ошибка компиляции, потому что необходимо указать размер при инициализации словаря
1%
В словарь добавится один элемент со значением "Ten" (второй вызов Add просто проигнорируется)
18%
В словаре останется элемент со значением "10" (значение перезапишется во втором вызове Add)
6%
В словарь добавятся оба элемента с одинаковым значением ключа
73%
Возникнет ошибка времени выполнения, т.к. нельзя добавлять элемент с одним ключом несколько раз
👍8
Что сделает следующий код?
string[] names = null;
foreach(var name in names) Console.WriteLine(name.Length); #Quiz #CSharp
string[] names = null;
foreach(var name in names) Console.WriteLine(name.Length); #Quiz #CSharp
Anonymous Quiz
16%
Ничего не выведет, потому что в names нет элементов
18%
Выбросит исключение на строке 1, потому что массивы должны быть инициализированы
58%
Выбросит исключение на строке 2, потому что нельзя перечислять null
8%
Выбросит исключение на строке 3, потому что нельзя вызывать свойства у null
👍14
Что выведет код?
var tasks = Enumerable.Range(0, 2)
.Select(_ => Task.Run( () => Console.Write("*"))); await Task.WhenAll(tasks); Console.Write(tasks.Count()); #Quiz #CSharp
var tasks = Enumerable.Range(0, 2)
.Select(_ => Task.Run( () => Console.Write("*"))); await Task.WhenAll(tasks); Console.Write(tasks.Count()); #Quiz #CSharp
Anonymous Quiz
4%
2
51%
**2
7%
**2**
10%
****2
27%
Что-то другое
Что произойдёт при выполнении следующего кода?
List<int> nums = [1, 42, 69]; nums.Remove(1); nums.Remove(2);
#Quiz #CSharp
List<int> nums = [1, 42, 69]; nums.Remove(1); nums.Remove(2);
#Quiz #CSharp
Anonymous Quiz
16%
Будет удалён только 1й элемент
3%
Будет удалён только 2й элемент
16%
Будут удалены 2й и 3й элементы
65%
Будет удалён 1й элемент, и возникнет ошибка, т.к. нет элемента 2
👍18👎1
Сколько областей видимости переменных в блоке try...catch...finally, обрабатывающем два вида исключений?
#Quiz #CSharp
#Quiz #CSharp
Anonymous Quiz
14%
1
16%
2
27%
3
38%
4
5%
5
👍2
Какая из перегрузок метода AddNumbers будет выбрана? (см. картинку в первом комментарии)
#Quiz #CSharp
#Quiz #CSharp
Anonymous Quiz
45%
int[]
31%
IEnumerable<int>
24%
ReadOnlySpan<int>
👍12👎1
Честно, не подглядывая, что произойдёт при попытке компиляции и запуска такого кода? #Quiz #CSharp
var var = new();
class var {};
var var = new();
class var {};
Anonymous Quiz
74%
ошибка компиляции
3%
ошибка времени выполнения
22%
это валидный код C#
2👍24👎22