簡體   English   中英

無法將運算符“==”應用於類型“System,.Nulabe”<decimal> &#39; 和 &#39;System.Nullable<double> &#39; 錯誤

[英]Cannot apply operator '==' to type 'System,.Nullabe<decimal>' and 'System.Nullable<double>' Error

我試圖了解為什么下面的以下方法會引發此錯誤。 如果有人能幫助或指出我正確的方向,我將不勝感激。

 public List<Data> GetResults(string manufacturer, int? vehicle, double? engine )
        {
var results =c ontext.Data.Where(x => x.Name == manufacturer)
                        .Where(x => x.ModelId == model)
                        .Where(x => x.EngineLitreCapacity == engine) // <<  error occurs on this line!
                        .GroupBy(x => x.EngineLitreCapacity)
                        .Select(x => x.FirstOrDefault())
                        .ToList();

        }

我做錯了什么,我將如何解決上述查詢? 謝謝

EngineLitreCapacity似乎是一個decimal? 而你的enginedouble? . 如果沒有強制轉換,這些變量是不可比較的。

簡單的解決方案是使engine成為decimal? . 這可能會導致稍后的投射問題,您必須解決這些問題。 只施放double?絕對是個壞主意double? 因為它的精度可能會導致方程失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM