public class MyItem
{
public string Name { get; set; }
public IList<MyItem> ListByName(string name)
{
IList<MyItem> myItems = new List<MyItem>();
myItems.Add(new MyItem() { Name = "Item 1" });
myItems.Add(new MyItem() { Name = "Item 2" });
myItems.Add(new MyItem() { Name = "Item 3" });
myItems.Add(new MyItem() { Name = "Item 3" });
return (IList<MyItem>) myItems.Select(i => i.Name == name);
}
}
我最初得到了一个强制转换异常(IEnumerable to IList),并且显式转换在这里不起作用。
我的目标是返回一个IList,其中MyItem.Name属性等于方法的参数。
这里几乎没有问题:
我应该使用“选择”,“在哪里”,或者两者都没有?
在此处返回已过滤的IList的正确方法是什么?
答案 0 :(得分:14)
return myItems.Where(i => i.Name == name).ToList();