Habituellement mes méthodes sont comme suit:Les meilleures pratiques lors du retour d'un tableau de valeurs (.NET)
public List<int> Method1(int input)
{
var output = new List<int>();
//add some items to output
return output;
}
Mais une autre mise en œuvre FxCop conseille IList au lieu de la liste, mais je ne sais plus. Les alternatives comprennent le retour comme un IList, ICollection ou IEnumerable pour plus de flexibilité ou d'une toute autre façon que le code ci-dessous .:
public int[] Method2(int input)
{
var output = new List<int>();
//add some items to output
return output.ToArray();
}
de toutes les alternatives, tous fournis et toutes les possibilités, ce qui est considéré comme la meilleure pratique?
Je suis d'accord, mais pouvez-vous développer pourquoi? – mmcdole
Parce qu'il vous permet de modifier les détails d'implémentation à l'intérieur de la fonction, si nécessaire, sans casser le code qui appelle la fonction. –
Par exemple, peut-être en ce moment vous renvoyez un tableau, mais à un moment donné dans le futur vous mettez à jour le code pour retourner une liste à la place. Si tout ce que vous avez promis est que vous retournez IEnumerable , le code d'appel fonctionnera tout à fait correctement. –