C# 运算符“&&”不能应用于和类型的操作数
执行以下代码时,出现以下错误: 运算符“&&”不能应用于“System.Collections.Generic.IEnumerablechar”和“System.Collections.Generic.IEnumerablechar”类型的操作数 错误显示在h.HOLIDAY_NAME.ExceptSunday和h.HOLIDAY_NAME.ExceptSaturday下 实际上,我想要的是获取所有Holyday_名称,这些名称不等于星期六和星期天。这是因为linq Exept返回IEnumerable,您不能对IEnumerable应用&&运算符 试着这样做:C# 运算符“&&”不能应用于和类型的操作数,c#,entity-framework,linq,asp.net-mvc-4,C#,Entity Framework,Linq,Asp.net Mvc 4,执行以下代码时,出现以下错误: 运算符“&&”不能应用于“System.Collections.Generic.IEnumerablechar”和“System.Collections.Generic.IEnumerablechar”类型的操作数 错误显示在h.HOLIDAY_NAME.ExceptSunday和h.HOLIDAY_NAME.ExceptSaturday下 实际上,我想要的是获取所有Holyday_名称,这些名称不等于星期六和星期天。这是因为linq Exept返回IEnumer
public ActionResult HolidayIndex()
{
IEnumerable<HOLIDAY_MASTER> hdms = null;
hdms = db.HOLIDAY_MASTER.ToList()
.Where(h =>
!(h.HOLIDAY_NAME == "Sunday" || h.HOLIDAY_NAME == "Saturday" )
&& h.HOLIDAY_DEL.Equals(0)
&& h.REGION_ID.Equals(RegionID)
)
.OrderBy(h => h.DOH);
return PartialView("HolidayIndex", hdms);
}
返回新的枚举,而不是布尔值,因此不能对其应用任何&&-运算符。但是,您可以从列表中选择属性名不同时等于星期六和星期日的元素。
使用以下命令:
IEnumerable<HOLIDAY_MASTER> hdms = db.HOLIDAY_MASTER.ToList()
.Where(h => h.HOLIDAY_NAME != "Sunday" &&
h.HOLIDAY_NAME != "Saturday" &&
h.HOLIDAY_DEL.Equals(0) &&
h.REGION_ID.Equals(RegionID))
.OrderBy(h => h.DOH);
您正在使用Linq的扩展方法。它从第一个集合中删除第二个集合中的所有项 其签名定义如下:
public static IEnumerable<TSource> Except<TSource>(this IEnumerable<TSource> first, IEnumerable<TSource> second)
public ActionResult HolidayIndex()
{
IEnumerable<HOLIDAY_MASTER> hdms = null;
hdms = db.HOLIDAY_MASTER.ToList().Where(h => h.HOLIDAY_NAME != "Sunday" && h.HOLIDAY_NAME != "Saturday" && h.HOLIDAY_DEL.Equals(0) && h.REGION_ID.Equals(RegionID)).OrderBy(h => h.DOH);
return PartialView("HolidayIndex", hdms);
}
您想做什么?正如错误所述,您不能在这些类型上使用逻辑&&。那意味着什么?从语义上讲,你想做什么?Where谓词?Except将返回一个eumousion,而不是bolean?您想知道h.HOLIDAY\u NAME.ExceptSunday是否包含任何元素吗?我假设您想知道。其中h=>h.HOLIDAY\u NAME!=星期日和h.HOLIDAY_NAME!=星期六?也许你能解释一下OP的密码有什么问题?
public ActionResult HolidayIndex()
{
IEnumerable<HOLIDAY_MASTER> hdms = null;
hdms = db.HOLIDAY_MASTER.ToList().Where(h => h.HOLIDAY_NAME != "Sunday" && h.HOLIDAY_NAME != "Saturday" && h.HOLIDAY_DEL.Equals(0) && h.REGION_ID.Equals(RegionID)).OrderBy(h => h.DOH);
return PartialView("HolidayIndex", hdms);
}