2016-07-01 23 views
1

私は現時点でC#を学んでいますが、これまでにこれを見たことはありません。c# "?"メソッド宣言で

static int? Foo() 
{ 
    return Bar 
} 

"?"行う?

私はGoogleとSEでそれを調べようとしましたが、私が検索しなければならない重要な用語は本当にわかりません。

+4

これはヌル入力可能なタイプです。 https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx – failedprogramming

+0

https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx nullable型に値を次のように割り当てます。通常の値型(intなど)の場合は? x = 10;またはダブル? d = 4.108。ヌル可能型には値nullを割り当てることもできます:int? x = null。 – Elshan

答えて

7

int?は、NULL可能intです。これをメソッドの戻り値の型として使用すると、この関数はintまたはnullのいずれかを返します。 MSDN

Nullable型は、System.Nullable構造体のインスタンスです。 nullable型は、その値型の の正しい値域と、追加のNULL値を表すことができます。たとえば、 Nullable、 "Nullable of Int32"と発音された場合は、 の値を-2147483648から2147483647に割り当てるか、NULL の値を割り当てることができます。

+0

null可能な型に適切なアプリケーションはありますか? – danielr

+0

@danielr plsはこのリンク(https://msdn.microsoft.com/en-us/library/2cf62fcy.aspx)をチェックします。あなたの質問に答えます。答えが明らかでない場合は、私に知らせてください。 – Christos

+0

@Downvoter、答えが間違っている箇所を指摘できれば幸いです。前もって感謝します。 – Christos

3

int?値は、整数またはnull

-1

これは通常タイプNullable<T>

0

int?を使用して定義されたNULL可能タイプを定義するための構文的ショートカットであることができる=タイプであり、と等価ですNullable<int>。 この型は、整数またはNULLを格納できます。それはあなたがint型で"null"値を持つことができますNullable ᐸTᐳ Structure

0

int?はここNullable<int>詳細情報の省略形です。詳細はこちら:Using Nullable Types