クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2008
Visual Studio
Visual C#
C# リファレンス
C# の演算子
 ?: 演算子
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
C# 言語リファレンス
?: 演算子 (C# リファレンス)

更新 : 2007 年 11 月

条件演算子 (?:) では、ブール式の値に応じて 2 つの値のいずれかが返されます。次に条件演算子の形式を示します。

condition ? first_expression : second_expression;

条件が true の場合、1 番目の式が評価され、これが結果となります。条件が false の場合、2 番目の式が評価され、これが結果となります。常に 2 つの式のいずれか 1 つだけが評価されます。

if-else の構造が必要になる計算は、条件演算子を使用すると、簡潔で明快に表現できます。たとえば、sin 関数の計算で 0 による除算を避けるには、次のいずれかで記述できます。

if(x != 0.0) s = Math.Sin(x)/x; else s = 1.0;

条件演算子を使用すると、次のように記述できます。

s = x != 0.0 ? Math.Sin(x)/x : 1.0;

条件演算子は結合規則が右から左です。

a ? b : c ? d : e

この式は、次のように評価されます。

a ? b : (c ? d : e)

not

(a ? b : c) ? d : e

条件演算子は、オーバーロードできません。

C#
class ConditionalOp
{
    static double sinc(double x)
    {
        return x != 0.0 ? Math.Sin(x) / x : 1.0;
    }

    static void Main()
    {
        Console.WriteLine(sinc(0.2));
        Console.WriteLine(sinc(0.1));
        Console.WriteLine(sinc(0.0));
    }
}
/*
Output:
0.993346653975306
0.998334166468282
1
*/
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker