2017-02-06 94 views
0

我正在努力計算貧困水平的百分比給予收入,家庭中的人數和聯邦指導方針。在Access中使用表達式構建器(VB我相信)的代碼是:如何在Lightswitch C#中的實體的計算屬性中創建「IF」語句?

IIf([NumberInHousehold]>=1,([AnnualHouseHoldIncome]/(7880+([NumberInHousehold]*4180))),0) 

是否存在c#等價物? NumberInHouseHold的數據類型爲「integer」,AnnualHouseHoldIncome的數據類型爲「Money」。要計算的字段也是「整數」。

回答

1

最直接等同於VBA(和VB.Net)IIf()函數是 「?: 」 操作者(通常被稱爲 「三元」 或 「條件」 運算符),例如:

result = numberInHousehold >= 1 
    ? (annualHouseholdIncome/(7880 + (numberInHousehold * 4180))) 
    : 0; 

注意三元運算符將只評估它使用了結果的分支,而IIF()是評估它的所有參數不管條件如何的真理的功能。大多數時候,三元運算符的行爲是你想要的,但它與IIf()不同。

+0

我加入這個代碼與法編輯器,它正確地保存和解決方案,沒有任何問題發佈,但是當我看到屏幕上的「PercentFPL」字段顯示什麼;甚至不是一個零。 – Mark

+0

實際上,通過添加任何內容,然後NumberInHouseHold字段將0寫入計算字段。 – Mark

+0

NumberInHousehold或AnnualHouseholdIncome字段中的空值可能是? – Craig