首页 > 解决方案 > LINQ 动态地在哪里

问题描述

我有这样的 LINQ 语句:

for (int i = 1; i < a + 1; i++)
{
    sumBubblee = dtErrCode.AsEnumerable()
        .Where(r => (r.Field<string>("ErrCode") == "000000FB") || (r.Field<string>("ErrCode") == "000000FF") || (r.Field<string>("ErrCode") == "000004FB") || (r.Field<string>("ErrCode") == "000004FF") || (r.Field<string>("ErrCode") == "000006FF"))
        .Sum(r => Convert.ToInt32(r.Field<string>(i)));
    rowBubble[i] = sumBubblee;
}

从上面的 LINQ 语句中,我们知道我静态创建了 5 个 where 条件。我在找什么:是否可以有一个动态的 where 子句?我计划在记事本文件中插入所有 where 子句列表,然后 LINQWhere ("ErrCode")从记事本的列表中读取这些内容。如果我们想在记事本中添加新的 where 条件,也很容易。

任何帮助,将不胜感激。谢谢

标签: c#listlinq

解决方案


您可以读取文件并将其添加到列表中。想象一下示例中的“myCustomErrorList”。

您的“where”子句如下所示:

.Where(r => myCustomErrorList.Any(ce => ce == r.Field<string>("ErrCode")))


推荐阅读