我正在尝试在我的餐厅评论网站上创建一个功能,以查找是否已对餐厅进行评论。如果尚未对餐厅进行审查,它将返回一个变量。但是我继续在行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);
}

最佳答案

您正在将列表(由ToList()返回)与整数0进行比较。实际上,您没有在进行比较-您有一个单一的等号,因此您尝试将0分配给List<T>变量。我想这是一个错字。

也许您想检查是否没有Any评论:

if (!restaurantreview.Any())
{
    //...
}


执行此操作的另一种方法-并使用您的0-是检查列表中项目的Count

if (restaurantreview.Count == 0)
{
    //...
}

关于c# - 无法将Int类型转换为List,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22244874/

10-10 13:19