2014-03-07 2 views
1

레스토랑 검토가 끝난 경우 식당 리뷰 웹 사이트에서 기능을 만들려고합니다. 레스토랑이 검토되지 않은 경우 변수를 반환합니다. 그러나 나는 계속 오류 Cannot implicitly convert type 'int' to 'System.Collections.Generic.List<>'을 받고있다. if (restaurantreview = 0).Int를 List로 변환 할 수 없습니다.

감사의 말을 전한다.

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

= 대신 ==를 원할 수도 있습니다. 또한 비교가 잘못되었습니다. Count() – NinethSense

답변

7

당신은 정수 0에 (ToList()에 의해 반환) 목록을 비교하고 있습니다. 실제로 당신은 비교하지 않습니다 - 하나의 equals를 가지고 있으므로 0List<T> 변수에 할당하려고합니다. 나는 이것이 오타라고 상상한다.

은 아마 당신은 Any 리뷰가 없습니다 있는지 확인하는 의미 :

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

이 작업을 수행하는 다른 방법 - 당신의 공을 사용 - 목록에있는 항목의 Count을 확인하는 것입니다 :

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

Ic에 대해 확인하고 싶다면 'Count = 0'은 아마도 좋은 생각이 아닙니다. '.Count == 0' – Marco

+0

@Serv 예. OP에서 복사하여 붙여 넣기가 잘못되었습니다. 이미 잡히고 고쳤다. 감사. –

6

목록이 0 해당 항목에, 그래서 당신이 아마 찾고있는 것은했습니다

if (restaurantreview.Count == 0) 
{ 
    var none = "Sorry Your Restaurant Hasnt been Reviewd Yet"; 
} 

=은 값을 할당하는 데 사용되고 동등성을 검사하는 데 사용되지 않습니다. ==을 사용하십시오.

관련 문제