检查列表是否包含使用linq的数组中的所有元素

时间:2015-06-23 12:14:32

标签: vb.net linq

我有一个对象列表,我有一系列关键字。我需要检查数组的所有元素是否都存在于对象列表中。 用户输入要搜索的数据,如此

 pain+fever+thirst+itching

我的代码如下:

    //i check if the data is present in the list
    Dim keys = str.Split("+")
    dim linqMeddata = From m In medicineDataList
                       Where m.MedicineData.Contains(key(0)) AndAlso m.MedicineData.Contains(key(1)))
                       Order By m.MedicineName Ascending
                       Select m

我需要知道如何检查列表中是否存在数组的所有元素。目前我很难对关键字进行编码;我需要一个动态的解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用Enumerable.All

dim linqMeddata = From m In medicineDataList
                  Where keys.All(Function(k) m.MedicineData.Contains(k))
                  Order By m.MedicineName Ascending
                  Select m
相关问题