У меня есть простой список поиска, который я буду использовать для заполнения раскрывающегося списка в Silverlight. В этом примере я использую штаты США.
Я пытаюсь выяснить, лучше ли возвращать статический список или использовать ключевое слово yield . Из следующих двух частей кода, который является предпочтительным и почему?
Версия 1: Использование доходности
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 ...";
}
}
Версия 2: Возврат списка
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;
}
}