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
C# 根据数组中的值检查db值的最简单方法_C#_.net - Fatal编程技术网

C# 根据数组中的值检查db值的最简单方法

C# 根据数组中的值检查db值的最简单方法,c#,.net,C#,.net,我正在使用C#.NET循环浏览数据库中的项目,并试图根据列值是否与数组中的任何值匹配来显示不同的数据。因为我的数组可能有数百个值,如果可能的话,我不希望创建数百个不同的IF语句。有没有更简单的方法来实现这一点 下面是一些示例代码,“Items”是我的数据库数据,“Categories”是所述数据的一列: var categoryList = new List<int> { 1, 2, 3, 4 }; foreach(var item in Items){ if(item.C

我正在使用C#.NET循环浏览数据库中的项目,并试图根据列值是否与数组中的任何值匹配来显示不同的数据。因为我的数组可能有数百个值,如果可能的话,我不希望创建数百个不同的IF语句。有没有更简单的方法来实现这一点

下面是一些示例代码,“Items”是我的数据库数据,“Categories”是所述数据的一列:

var categoryList = new List<int> { 1, 2, 3, 4 };

foreach(var item in Items){
    if(item.Categories.Any(x => @categoryList.Equals(x))){ 
        <p>Yes</p>
    }else{
        <p>No</p>
    }
}
var categoryList=新列表{1,2,3,4};
foreach(项目中的var项目){
if(item.Categories.Any(x=>@categoryList.Equals(x)){
对

}否则{ 没有

} }
我给出的答案是基于。我根据你的情况修改了密码

foreach(var item in Items)
{
    bool hasCategory = categoryList.Any(x => item.Categories.Any(c => c.Id == x)); 
}
或对于较大的集合(性能方面):

编辑: 起初我以为
item.Categories
是ID的集合,但后来我开始怀疑。如果
item.Categories
只是一个整数,则以下代码将起作用:

foreach(var item in Items)
{
    if(categoryList.Any(x => x == item.Categories))
        <p>Yes</p>
    else
        <p>No</p>
}
foreach(项目中的变量项目)
{
if(categoryList.Any(x=>x==item.Categories))
对

其他的 没有

}
foreach(var item in Items)
{
    if(categoryList.Any(x => x == item.Categories))
        <p>Yes</p>
    else
        <p>No</p>
}