Какое ограничение можно использовать, чтобы убедиться, что обобщённый параметр типа 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)
      
    7%
    В словарь добавятся оба элемента с одинаковым значением ключа
      
    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
      
    17%
    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%
    ошибка времени выполнения
      
    23%
    это валидный код C#
      
    2👍24👎22
  