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
使用 &&
因为您想检查两个值是否为真。
我需要 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
使用 &&
因为您想检查两个值是否为真。