LINQ加入多个列表

时间:2017-07-26 04:58:00

标签: c# linq

我希望能够加入多个列表。我尝试做的是回复具有最佳答案的用户。为此,程序读取用户键入的句子,将不定式,名词,文章和副词存储在单独的列表中,并尝试通过加入预定义答案的结构列表中找到用户的最佳答案或答复。列表。

所以list1(答案列表)看起来像这样

public struct ll
{
    int index;
    string infinitive;
    string noun;
    string article;
    string adverb;
    string preposition;
    string answer;        
}
public List <ll> list1;

以下数据:

enter image description here

例如,当用户输入句子&#34;你能找到什么&#34; 时,加入脚本应该返回两个可能的答案,&#34;我可以找到这个信息&#34; &#34;您希望我找到什么&#34; ,因为在用户输入中只能找到不定式而且没有名词,文章,副词,等

但是,如果句子更明确,例如&#34;你能在这里找到什么&#34; ,它只会返回&#34;我可以找到这些信息&#34; ,所以搜索是在不定式上与副词结合进行的。

此外,当用户问:&#34;你对这个霍比特人有什么了解&#34; 它将不会返回任何内容,因为&#34;知道&#34; &#34;此&#34; 未知,&#34;您对hobbit&#34; 的了解将以&&返回#34;我知道&#34;

我试图通过像

这样的LINQ连接语句来实现这一目标
var query = from x in answer
            join y1 in infinitive on x.infinitive equals y1
            join y2 in noun on x.noun equals y2
            join y3 in adverb on x.adverb equals y3
            etc...
            select x.index;
然而,问题是,如果用户输入类似&#34的内容;您对霍比特人有什么了解&#34; 它将不会返回任何内容,因为它正在尝试匹配用户的不定式&#34;知道&#34; 结合介词&#34; about&#34; ,它应该回答< strong>&#34;我知道&#34; 。

0 个答案:

没有答案