この変数の割り当てで何が起こっているのかを理解しようとしています。
num = forward.Data.Key >= key ? 1 : 0;
特にこの部分 >= key ? 1 : 0
前進を助けることはLinkedListCell<KeyValuePair<int, double>> forward = _data.Next;
key
メソッドに渡されるintパラメータです。
また、C#で書かれたプログラムです
この変数の割り当てで何が起こっているのかを理解しようとしています。
num = forward.Data.Key >= key ? 1 : 0;
特にこの部分 >= key ? 1 : 0
前進を助けることはLinkedListCell<KeyValuePair<int, double>> forward = _data.Next;
key
メソッドに渡されるintパラメータです。
また、C#で書かれたプログラムです
それが三項演算子です。ブール式を取り、その式の結果に応じて2つの値のいずれかを返します。あなたはそれを多くの言語で手に入れます。
これは次と同等です。
if( forward.Data.Key >= key ) {
num = 1;
}
else {
num = 0;
}
それはと呼ばれternary conditional operator
ます。(または短いIf-Else
ステートメント)
value = condition ? truePart : falsePart;
三項演算子は条件をテストします。2つの値を比較します。比較の結果に応じて、3番目の値が生成されます。
MSDNから、
int input = Convert.ToInt32(Console.ReadLine());
string classify;
// if-else construction.
if (input < 0)
classify = "negative";
else
classify = "positive";
// ?: conditional operator.
classify = (input < 0) ? "negative" : "positive";