2016-07-15 11 views
0

次のクエリは、flagcheckedがブール値であるデータを取得するために使用されます。Linq:対応するブール値に対して特定のテキスト "True"または "False"を選択する方法は?

私はreducedListを使用してExcelにデータをエクスポートしています。 Excelはブール値をチェックボックスとして表示します。対応するブール値true/falseに対してテキスト "True"または "Done"を表示します。あなたが三/条件演算​​子を使用でき

答えて

3

?: Operator

var reducedList = alarmlog.Select(e => new 
{ 
    e.ID, 
    e.alarmname, 
    e.alarmmessage, 
    e.metername, 
    e.starttime, 
    flagchecked = e.flagchecked ? "Done" : "Not Done" }).ToList(); 

を条件演算子は、次のように動作します。

e.flagchecked ? "True" : "False";はよう 同じに動作します: condition ? first_expression : second_expression;

これがあることを意味します​​

だから、これはe.flagchecked ? "Done" : "Not Done"です。 (e.flagchecked == true)をはそれがを返す場合(e.flagchecked == false)をはそれがを返すとき、 "未完了" は

あなたは、私が投稿?: Operatorリンクをご確認ください可能性がある "完了"上記。

+1

「True」:「完了」が予想されました。クール –

+0

無効な匿名型宣言 – Arbaaz

+0

なぜその例外が発生するのか分かりませんが、詳細を提供できますか? – MichaelMao

1
var reducedList = alarmlog.Select(e => new { 
    e.ID, 
    e.alarmname, 
    e.alarmmessage, 
    e.metername, 
    e.starttime, 
    flagchecked = e.flagchecked ? "Done" : "Undone" 
}).ToList(); 
+0

無効な匿名型宣言 – Arbaaz

0
reducedList.ForEach(x => x.flagchecked == "True" ? x.flagchecked = "Done" : x.flagchecked = "Undone"); 

あなたがreducedListをインスタンス化した後、あなたはこれを行うことができます。

関連する問題