如何检查列表中的值?我将在if语句中使用它

时间:2019-01-10 06:32:45

标签: c# linq

我要检查“列表”字段的数量是否不等于0。

下面对此进行了尝试,很显然这是不可能的。还有其他方法可以执行我的逻辑吗?

if(listItems.Values.Select(x=> x.Amount !=0))
{
      //code
}

我要打印具有Amount!= 0的列表值

5 个答案:

答案 0 :(得分:2)

很可能您正在寻找Any(),以查看是否有任何元素符合以下条件。另外,您可能要检查大于条件的值(考虑到上述列表中没有负值),而不是!=

if(listItems.Values.Any(x => x.Amount > 0))
{
      //code
}

答案 1 :(得分:1)

只需使用where子句即可获得金额不为零的那些子

var result = listItems.Values.Where(x=> x.Amount !=0)

然后:

foreach(var item in result)
{
    //do your thing here
}

答案 2 :(得分:0)

也许这会有所帮助?:

 foreach (item in list)
 {
     if (item != 0)
     //code
 }

答案 3 :(得分:0)

只需使用.Any即可返回布尔值

if (listItems.Values.Any(x=> x.Amount !=0))
{
}

用于将其打印到控制台。

listItems.Values.Where(x => x.Amount !=0).ForEach(x=> Console.WriteLine(x.Amount));

答案 4 :(得分:0)

使用带有Amount != 0子句的Where获取项目,然后检查Count()

var resultList = listItems.Values.Where(x => x.Amount != 0);
if(resultList.Count() > 0)
{
   //do what you want
}