Я использую FxCop, и он показывает предупреждение для "Не выставлять общий список", который предлагает использовать Collection<T> вместо List<T>. Причина, по которой это предпочтительнее, я знаю все это, как упоминалось в этом сообщении SO и MSDN и еще много статей, через которые я прошел.
Но мой вопрос в том, что у меня есть несколько методов, которые делают так много тяжелых вычислений, и методы принимают параметры List<T>, которые должны быть более быстрыми и хорошими с точки зрения производительности. Но FxCop предупреждает об этом, а также. Таким образом, один из вариантов заключается в том, что я должен объявить параметр как Collection<T>, а затем использовать ToList() внутри метода, а затем использовать его.
Итак, какой из них оптимизирован?
"Подавить предупреждение для этого случая" ИЛИ "использовать Collection<T> в параметре, а затем использовать ToList() внутри самого метода".