Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用linq查找包含单词的所有文章_C#_Asp.net_Linq - Fatal编程技术网

C# 使用linq查找包含单词的所有文章

C# 使用linq查找包含单词的所有文章,c#,asp.net,linq,C#,Asp.net,Linq,试图学习林克,但在这里碰壁了 我试图找到所有包含多个字符串的文章,但不确定在传递列表时如何使用.Contains private void SearchArticles() { AdminEntities db = new AdminEntities(); var searchStrs = new List<string> {"search_string1", "search_string2"}; var artListfull = db.view_M02A

试图学习林克,但在这里碰壁了

我试图找到所有包含多个字符串的文章,但不确定在传递列表时如何使用.Contains

private void SearchArticles()
{
    AdminEntities db = new AdminEntities();

    var searchStrs = new List<string> {"search_string1", "search_string2"};
    var artListfull = db.view_M02Articles_SearchPublished(0, "").ToList();
    var artList = artListfull.FindAll(n => n.Bodytext.Contains(searchStrs));

    Label1.Text = artList.Count.ToString();
    Repeater1.DataSource = artList;
    Repeater1.DataBind();
}
private void SearchArticles()
{
AdminEntities db=新的AdminEntities();
var searchStrs=新列表{“search\u string1”、“search\u string2”};
var artListfull=db.view\u M02Articles\u SearchPublished(0,“”).ToList();
var artList=artListfull.FindAll(n=>n.Bodytext.Contains(searchStrs));
Label1.Text=artList.Count.ToString();
Repeater1.DataSource=艺术列表;
Repeater1.DataBind();
}

这里的正确语法是什么?

[Edit]假设
BodyText
的类型是
string

您可以尝试以下方法:

//the article body must contain "ALL" the search terms
var artList = artListfull.Where(art => searchStrs.All(art.BodyText.Contains));

[编辑2]
str=>art.BodyText.Contains(str)
替换为
art.BodyText.Contains
与LINQ

var artList = artListfull.Where(a => searchStrs.Any(s => a.Bodytext.Contains(s)))
                         .ToList();
var artList= (from art in artFullList
              from search in searchStrs 
              where art.Bodytext.Contains(search)
              select art).ToList();

当你说“包含多个字符串的文章”时,你是指所有的字符串吗?或者只有一个以上?我需要匹配所有字符串的可能副本。这将起作用,尽管它会在正文文本上多次无效地迭代请注意,您可以替换
str=>art.BodyText.Contains(str)
只包含
艺术体文本。包含
@AlexG:我认为除了迭代“搜索项”和“体文本”之外,没有其他选择,它就像一个“加入”
var artList= (from art in artFullList
              from search in searchStrs 
              where art.Bodytext.Contains(search)
              select art).ToList();