1 минут чтения
25 Sep
public T A<T>() where T : struct {
    var t = new T();
    ...
    return t;
} 

Вот такой код мы обычно воспринимаем как "сделать default значение и потом мы его вернем". Все бы ничего, но это не совсем так. Вот как будет выглядеть этот код:

public T A<T>() where T : struct {
    var t = System.Activator.CreateInstance<T>();
    ...
    return t;
} 

Исправить это довольно просто:

public T A<T>() where T : struct {
    T t = default;
    ...
    return t;
} 
Комментарии
* Адрес электронной почты не будет отображаться на сайте.