2015-04-12 35 views
0

我有话阵列找出与子词语的LINQ

string[] words = { "believe", "relief", "receipt", "field" }; 

如何找出词与串“EI”使用LINQ

IEnumerable<string> iswordlist = from word in words where words.All(a => a.Contains("ei")) 
              select word; 
      foreach (var i in iswordlist) 
      { 
       txtlinq.Text = txtlinq.Text + i.ToString(); 
      } 

我试过以上,但没有结果。谁可以帮我这个事?

回答

3

尝试这样

var newWord = words.Where(o => o.Contains("ei")); 
1

您当前的代码甚至不会编译,因为你正在使用Enumarbale.All方法,它返回true或false(给定条件匹配时),而不是一个IEnumerable上,您可以查询。你简单的需要一个Where条款。

试试这个: -

var result = words.Where(x => x.Contains("ei")); 

或者如果你喜欢查询语法: -

IEnumerable<string> result = from word in words 
      where word.Contains("ei") 
      select word; 

Working Fiddle

1

我不是很好的免费形式,但与点语法这将工作:

var ieWords = words.Where(a => a.Contains("ei"));