質問

あなたが子供だったときに

、あなたが何かを綴る方法をご両親に尋ねると、彼らはそれを見に行くためにあなたに言ったのですか?私の第一印象は、常に「それをよくスペルI wouldntの必要性の助けを、それを調べることができれば」でした。

(ええええ私は音声学を知っています)

...とにかく、私はいくつかのコードを見ていたし、私のような例を見つけます:

 txtbx.CharacterCasing = (checkbox.Checked) ? CharacterCasing.Upper : CharacterCasing.Normal;

私は、この操作が何をするか把握することができますが、明らかに、私はのためにグーグルカント?または:「C#の演算子」を検索するとき、私はそれについて読み始める行くことができるように、この愚かな質問をしなければならないので、私は、LINQ、ラムダ式などをそれらを見つける傾ける

これらの演算子は何ですか?

役に立ちましたか?

解決

?:条件演算子であります、そして見つけるための最善の方法はここに依頼することです!

condition ? first_expression : second_expression;
  条件が真である場合、

は、最初の式を評価し、結果となります。 falseの場合は、2番目の式が評価され、結果となっています。 2つのだけの式のいずれかがこれまでに評価されます。

式全体が比較的短い場合には、割り当ての読みやすさのために非常に便利です。

string name = string.IsNullOrEmpty(user.Nickname) ? user.Fullname : user.Nickname

はよりもはるかに簡単かつ迅速です

string name = user.Fullname;
if(!string.IsNullOrEmpty(user.Nickname))
{
    name = user.Nickname;
}

他のヒント

?はインラインif文です。 checkbox.Checkedtrueである場合、CharacterCasing.Upperは、式の値になることを、この手段さもなければCharacterCasing.Normalになります。

これは次のように動作します:

type value = condition ? trueValue : falseValue;

それは、インラインif文です。 "?"場合のコードは、ある「:」他のためのものです。

?また、三オペレータ

として知られています

ところで。 あなたは、C#はをチェックアウト学んでいたよう? ?それのオペレータは時々ずっと良い選択肢にある:ます。

考えてみます:

Console.WriteLine(user.LastName ?? "no last name provided");

対ます:

Console.WriteLine(user.LastName != null ? user.LastName : "no last name provided");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top