簡體   English   中英

無法確定條件表達式的類型,因為在'string'和'int'之間沒有隱式轉換

[英]Type of conditional expression cannot be determined because there is no implicit conversion between 'string' and 'int'

首先,我知道這是一個常見問題。 但是我不能使用其他解決方案,因為我正在比較不能被替換為可空類型的類型,例如我的三元運算符中的DataRow類型。 我也無法格式化網格中的貨幣,因為我正在旋轉數據並且必須將自動生成列設置為true。 我也無法在其他地方設置貨幣格式,因為我希望一個調用來獲取原始數據,並在應有的位置進行格式化。 我需要使用LinqSql,因為這是我在將數據綁定到Telerik RadGrid之前准備數據的方式

var drResults = from t1 in DatesTable.AsEnumerable()
                join t2 in dtResult.AsEnumerable() on t1["MONTH_YEAR"] equals t2["MONTH_YEAR"] into t1_t2
                from t2 in t1_t2.DefaultIfEmpty()
                select new
                {
                    MONTH_YEAR = t1.Field<string>("MONTH_YEAR"),
                    Appraisal_Fees = t2 != null ? String.Format("{0:C}", t2.Field<decimal>("AppraisalFees")) : 0): 0
                };

嘗試將argement內部的三元表達式移動到String.Format

String.Format("{0:C}", (t2 != null ? t2.Field<decimal>("AppraisalFees") : 0M)) 

您還可以通過兩行編寫來使其更易於閱讀:

decimal appraisalFees = (t2 != null ? t2.Field<decimal>("AppraisalFees") : 0M);
Appraisal_Fees = String.Format("{0:C}", appraisalFees);

暫無
暫無

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

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