我构建了一个包含元素的list<string>
,例如。如
Prop.John,Prop.Steve,Prop.Matt,Oper.A,Oper.D,Oper.E
最终,我需要根据ex的标准建立一个值列表;所有以Oper开头的元素。
我试过这种方式但无济于事(原始列表叫做OriginalList)
var newlist = new List<string>();
var searchname = "oper";
newlist = OrignialList.Where(s=>s.contains(searchname));
我应该如何处理上述情况?
答案 0 :(得分:2)
您必须调用ToList()
方法,该方法将创建包含结果的List:
var newlist = new List<string>();
var searchname = "oper";
newlist = OrignialList.Where(s=>s.Contains(searchname)).ToList();
你甚至可以这样:
var searchname = "oper";
var newlist = OrignialList.Where(s=>s.Contains(searchname)).ToList();
修改强>
回答评论 - 是的,你可以。 Where()
会返回包含"oper"
字符串的项集合。您可以调用Select()
方法进行一些转换,如下所示:
var newlist = OrignialList.Where(s=>s.Contains(searchname)).Select(s=> s.Replace(searchname,"")).ToList();