3

私は誰かの古いコードを読んでいて、次の行を見つけました:

 menuItem.Checked = (menuItem.Checked == false) ? true : false;

私はそれが何をどのように行うのか理解していません。助けはありますか?

4

8 に答える 8

9

複雑な書き方です:

menuItem.Checked = !menuItem.Checked;
于 2012-06-01T07:32:28.100 に答える
4

条件演算子 を見てください:
これは次のことを意味します:

if(menuItem.Checked == false)
{
   menuItem.Checked = true;
}
else
{ 
   menuItem.Checked = false;
}
于 2012-06-01T07:34:31.480 に答える
3

これは、次のコードに置き換えることができます。

menuItem.Checked = !menuItem.Checked;
于 2012-06-01T07:33:05.313 に答える
3

それは次と同等です:

 menuItem.Checked = !menuItem.Checked;
于 2012-06-01T07:33:08.980 に答える
2

これに関するMSDNの記事は次のとおりです。他の便利な演算子へのリンクがあります: http://msdn.microsoft.com/en-us/library/ty67wk28.aspx

于 2012-06-01T07:32:25.640 に答える
2

これは三項演算子と呼ばれ、単純な Google 検索で、これがどのように機能し、可能性があるかについての優れた情報が得られます。

見てみましょう: https://www.google.com/search?q=Ternary+Operators+c%23

人々がすでに指摘しているように、これはシンプルな if ステートメントを書くための短くて簡単な方法です。

于 2012-06-01T07:33:25.623 に答える
0

三項演算子といいます。if else ステートメントのように使用されますが、より凝縮されています。3 つのオペランドを取るため、3 項と呼ばれます。1 番目を評価し、true の場合は 2 番目、false の場合は 3 番目を選択します。

于 2012-06-01T07:31:49.610 に答える