2017-05-02 10 views
-3

チェックボックスをオンにし、チェックされていない値を"-1""0"としたいだけです。 私はこの方法をしようとしています:ブール値を文字列に変換する方法

Conversions.ToString((-((CheckBox1.Checked) ? 1 : 0)) ? 1 : 0) 

が、エラー

が暗黙的に型「intは」私は、同様の表現を使用して、それをどのように行うことができます

「ブール」に変換できません、次の取得。 ?

+5

なぜ* *条件演算子が2つありますか?なぜあなたは 'Conversions.ToString'(それが何であっても)を使っていますか?なぜ、 'CheckBox1.Checked? "-1": "0"? –

+0

親指のルールとして、コードをシンプルで読みやすくしてください。最初の条件式は 'ブール'式ではなく 'int'を返します。したがって、2番目の条件式によってエラーが発生します。この場合、@ JonSkeetが言及する(または最初の条件を修正するが、2つの場合は意味をなさない)ので、条件付きを1つしか使用できません。 – bradbury9

答えて

5
string checkedValue = CheckBox1.Checked ? "-1" : "0"; 
2

プロパティCheckBox1.Checkedは、ブール値を与えます。したがって、3項演算子を適用して評価することができます。あなたがに例を見つけることができます

string checkedState = CheckBox1.Checked ? "-1" : "0"; 

Here:以下などの文字列変数にconvert.ToString()あなたが真の場合("-1")を割り当てることができますので、ここでの方法とfalseの場合("0")の必要はありません何らかの条件に基づいて文字列値を割り当てます

+1

ええと、これは@ドミトリーの答えと同じ答えであるようです。 – Stefan

+1

@Stefan:ポストを押すと、数分後に 'StackOverflowが更新メッセージのためにオフラインになった 'というメッセージが表示され、ブラウザをリフレッシュするための' F5'キーが同じポストになりました。それは私のポストをもう一方の複製とみなします。とにかく繰り返し返答して申し訳ありません –

関連する問題