2014-03-07 32 views
1

我正在嘗試在我的餐館評論網站上創建一個函數,以查找餐廳是否已經過審閱。如果餐廳沒有被審查,它會返回一個變量。不過,我繼續得到錯誤Cannot implicitly convert type 'int' to 'System.Collections.Generic.List<>'就行if (restaurantreview = 0).無法將類型Int轉換爲列表

任何幫助將不勝感激。

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

您的列表(按ToList()返回)比較整數0其實你沒有比較 - 你有一個等於,所以你試圖將0分配給一個List<T>變量。我想這是一個錯字。

也許你的意思是檢查是否有不Any評論:

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

另一種方式來做到這一點 - 並使用您的0 - 是檢查項目的Count列表:

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

Ic,'Count = 0'可能不是一個好主意。 '.Count == 0' – Marco

+0

@Serv是錯誤的複製和粘貼從OP。已被捕獲並修復。謝謝。 –

6

的List已經0到n的物品,所以你可能正在尋找的是:

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

請注意,=用於分配值,而不是用於檢查相等性。使用==

相關問題