OR 运算符在 LINQ 中不起作用

OR operator is not working in LINQ

我需要 select 一个不包含 2 年级和 8 年级的列表。现在所有 2 级的项目也 selects。请看下面是我的代码

var subjectList = printViewModel.GetSubjects().Where(p => p.Grade != "2" || p.Grade != "8");

PrintTemplateViewModel class

public class PrintTemplateViewModel
{
    public List<SubjectsViewModel> lstSubjectsViewModel { get; set; }

    public List<SubjectsViewModel> GetSubjects()
    {
        return lstSubjectsViewModel;
    }
}

public class SubjectsViewModel  
{ 
    public string Grade { get; set; } 
}

你想要 &&,而不是 ||。无论字符串值是什么,它总是要么不是“2”,要么不是“8”。不能同时兼顾! :)

"OR" 工作正常。是你的逻辑不对 :D

使用 && 因为您想检查两个值是否为真。