如何在c#数据库选择中使用循环

如何在c#数据库选择中使用循环,c#,database,C#,Database,我的代码如下: dt1 = dt1 .AsEnumerable() .Where(r=>!String.IsNullOrEmpty(r.Field<string>("Transaction_x0020_Type")) &&(r.Field<string>("Transaction_x0020_Type").ToLower().Contains(Yr

我的代码如下:

    dt1 = dt1
            .AsEnumerable()
            .Where(r=>!String.IsNullOrEmpty(r.Field<string>("Transaction_x0020_Type"))
                        &&(r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[0].ToLower())
                        ||r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[1].ToLower())
                        ||r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[2].ToLower())
                        ||r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[3].ToLower())))
            .AsDataView()
            .ToTable();
dt1=dt1
.可计算的()
.Where(r=>!String.IsNullOrEmpty(r.Field(“事务类型”))
&&(r.Field(“Transaction\u x0020\u Type”).ToLower()包含(YrStrList[0].ToLower())
||r、 字段(“事务\u x0020\u类型”).ToLower()包含(YrStrList[1].ToLower())
||r、 字段(“事务\u x0020\u类型”).ToLower()包含(YrStrList[2].ToLower())
||r、 字段(“事务\u x0020\u类型”).ToLower()包含(YrStrList[3].ToLower())
.AsDataView()
.ToTable();
我希望能把以下部分放在一个循环中:

     &&(r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[0].ToLower())
                        ||r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[1].ToLower())
                        ||r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[2].ToLower())
                        ||r.Field<string>("Transaction_x0020_Type").ToLower().Contains(YrStrList[3].ToLower())))
&&(r.Field(“Transaction\u x0020\u Type”).ToLower()包含(YrStrList[0].ToLower())
||r、 字段(“事务\u x0020\u类型”).ToLower()包含(YrStrList[1].ToLower())
||r、 字段(“事务\u x0020\u类型”).ToLower()包含(YrStrList[2].ToLower())
||r、 字段(“事务\u x0020\u类型”).ToLower()包含(YrStrList[3].ToLower())
假设您正在检查
YrStrList
中的所有值,而不仅仅是前4个值(可能超过4个):

&&(YrStrList.Any(y=>r.Field(“交易类型”)
.ToLower()
.Contains(y.ToLower()))

你想通过将代码放入循环来实现什么?为什么在linq已经在为你循环的情况下还要循环呢?帖子底部的“谢谢”是没有必要的,社区对此表示不满。将其添加为编辑(以及编辑中唯一的更改!)绝对不需要/不合适。我已经为您回滚了更改。不过,稍微解释一下您正在尝试完成的工作将是一个很好的编辑。。。
&&(YrStrList.Any(y => r.Field<string>("Transaction_x0020_Type")
                       .ToLower()
                       .Contains(y.ToLower())))