J'ai une liste de recherche simple que je vais utiliser pour remplir une liste déroulante dans Silverlight. Dans cet exemple, j'utilise des États américains.Est-il préférable de générer des listes de recherche de retour ou de précharger une liste statique dans C#?
J'essaie de savoir s'il vaut mieux retourner une liste statique ou utiliser le mot-clé yield. Parmi les deux morceaux de code suivants, lequel est le préféré et pourquoi?
Version 1: Utiliser yield return
public class States
{
public static IEnumerable<string> GetNames()
{
yield return "Alabama";
yield return "Alaska";
yield return "Arizona";
yield return "Arkansas";
yield return "California";
yield return "Others ...";
}
}
Version 2: Retour la liste
public class States
{
private static readonly IList<string> _names;
static States()
{
_names = new List<string>() {"Alabama",
"Alaska",
"Arizona",
"Arkansas",
"California",
"Others ..." };
}
public static IList<string> GetNames()
{
return _names;
}
}
Attention à ce que quelqu'un au moins essaie: IList list = ((IList) SomeMethodThatReturnsEnumerable()) –
Oui, c'est techniquement faisable ... à condition qu'il soit en fait * un * IList (ce qui ne serait pas le cas pour le code V1). Quoi qu'il en soit, le type de retour indique l'intention, qui est de fournir une liste en lecture seule, mais cela n'empêche pas les opérations "illégales". –
voulez-vous dire «rendement rendement» dans votre échantillon? – bendewey