我有一系列的单词
string[] words = { "believe", "relief", "receipt", "field" };
如何使用linq
找出带有子串“ei”的单词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();
}
我尝试了以上但没有结果。任何人都可以帮我吗?
答案 0 :(得分:3)
试试这个
var newWord = words.Where(o => o.Contains("ei"));
答案 1 :(得分: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;
答案 2 :(得分:1)
我对自由形式不太满意,但使用点语法可以使用:
var ieWords = words.Where(a => a.Contains("ei"));