根据特定条件从列表(字符串类型)中搜索和构建列表的有效方法 - C#

时间:2015-09-22 16:34:19

标签: c# linq

我构建了一个包含元素的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));

我应该如何处理上述情况?

1 个答案:

答案 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();