我有一个简单的查找列表,我将使用它来填充 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;
}
}