Обычно мои методы являются следующие:Лучшая практика, когда возвращая массив значений (.NET)
public List<int> Method1(int input)
{
var output = new List<int>();
//add some items to output
return output;
}
Но FxCop советует другой IList реализации вместо списка, но я не могу вспомнить, какой. Альтернативы включают возвращение его в качестве IList, ICollection или IEnumerable для большей гибкости или совершенно иным образом, как код ниже .:
public int[] Method2(int input)
{
var output = new List<int>();
//add some items to output
return output.ToArray();
}
Из всех альтернатив, все при условии, и все возможности, которая считается лучшей практикой?
Согласен, но можете ли вы расшифровать почему? – mmcdole
Поскольку он позволяет вам изменять детали реализации внутри функции, если необходимо, без нарушения кода, вызывающего функцию. –
Например, возможно, прямо сейчас вы возвращаете массив, но в какой-то момент в будущем вы обновите код, чтобы вместо этого вернуть список. Если вы обещали, что вы возвращаете IEnumerable , код вызова будет работать нормально. –