我正在尝试在我的餐厅评论网站上创建一个功能,以确定餐厅是否已经过审核。如果餐厅未经审核,则返回变量。但是,我继续在Cannot implicitly convert type 'int' to 'System.Collections.Generic.List<>'
if (restaurantreview = 0).
任何帮助都会感激不尽。
var restaurantreview = objCtx.Reviews.Where(r => r.RestaurantId == currentrestaurant).ToList();
if (restaurantreview = 0)
{
var none = "Sorry Your Restaurant Hasnt been Reviewd Yet";
}
else
{
var averagefood = objCtx.Reviews
.Where(r => r.RestaurantId == currentrestaurant)
.Average(r => r.Food);
}
答案 0 :(得分:7)
您正在将列表(由ToList()
返回)与整数0
进行比较。 实际上你没有比较 - 你有一个等于,所以你试图将0
分配给List<T>
变量。我想这是一个错字。
也许您打算检查是否没有Any
条评论:
if (!restaurantreview.Any())
{
//...
}
执行此操作的另一种方法 - 并使用您的0 - 是检查列表中Count
项:
if (restaurantreview.Count == 0)
{
//...
}
答案 1 :(得分:6)
列表包含0到n个项目,因此您可能需要的是:
if (restaurantreview.Count == 0)
{
var none = "Sorry Your Restaurant Hasnt been Reviewd Yet";
}
请注意,=
用于分配值,而不是用于检查相等性。使用==
。