无法将Int类型转换为List

时间:2014-03-07 08:16:03

标签: c# asp.net asp.net-mvc if-statement

我正在尝试在我的餐厅评论网站上创建一个功能,以确定餐厅是否已经过审核。如果餐厅未经审核,则返回变量。但是,我继续在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);
}

2 个答案:

答案 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";
}

请注意,=用于分配值,而不是用于检查相等性。使用==