なぜなら私がよく利用すnullable種類のクライアントまで、フルのC#

StackOverflow https://stackoverflow.com/questions/830592

  •  06-07-2019
  •  | 
  •  

質問

していいくつかの良いご案内はこの概念を導入します。純2.0にアクセスしてください。

なぜそういった非nullのデータ型のクライアントまで、フルのc#?(より良い質問だなっnullable種類により、デフォルトでの使用は非nullの種類が明示的には意味がある。)

があり、'大きな'グラムに選びには格別のこだわりを持つ、nullのデータタイプ、非nullピア?

っかりメンバーの件数をご確認ください値に対しnullの場合です.空の文字列になります。空DateTime.MinValue,<=0など、仕事をnullable種類ありますとの理由かを選択nullable種類があるのかゆみを感じの頭するような気分にさせてくれこれまで以上に下位互換性を強制するようなもの'?'文字を明示的に許可しでnull値とします。

あるものである(もも)を選択nullable種類は非nullのか。

おり、

役に立ちましたか?

解決

理由はなんかずnullable種類によれば、時まで保証値 する初期化されます。や実際に試したほうがよいでしょう設計コードではこのことが可能です。る方法が無い場合は値で初期化されていない可能性がある、それがnullの場合すべき正当な値です。とても簡単な例を考えます:

List<int> list = new List<int>()
int c = list.Count;

この 常に 有効になります。あるシーンで c が初期化されていない.また、 int?, という効果的にする語の読者のコードは"この値がnullになります。必ずチェックする前に使用することが出来きます。しかしここでいうなる場所には置かないでください保証のコードについて教えてください。

だから、やはり最も必要な場合に値をオプションです。い機能を持っているところはない文字列を返し、nullを返します。な戻り文字列になります。Empty().な戻る"魔法の値は常にnullとなります

ないすべての値は任意となっております。やなんでもオプションのおかに複雑なコードが別のコードをパスしていると見ることができる取り扱い).

できれば具体的には保証この値は常に有効で、その理由捨てることのでしょうか?そんな取り組みが認められnullableタイプです。現在の値が存在していないかもしれないし、誰にでも利用価値の両立が求められます。がることをご存知だけがの場合は可能です。そのユーザコード牲に反映させることにコードです。ユーザのコードでその価値有効な、かなければなりませんが対応シングルの場合より。

他のヒント

ので不便を常に確認しnullableタイプ null.

明らかにない場合があり、値が真のオプションで、その場合ことは、あってはならないことで利用nullableタイプではなくマジック番号などが可能な場合おうを回避してまいります。

// nice and simple, this will always work
int a = myInt;

// compiler won't let you do this
int b = myNullableInt;

// compiler allows these, but causes runtime error if myNullableInt is null
int c = (int)myNullableInt;
int d = myNullableInt.Value;    

// instead you need to do something like these, cumbersome and less readable
int e = myNullableInt ?? defaultValue;
int f = myNullableInt.HasValue ? myNullableInt : GetValueFromSomewhere();

と思うの言語でデザイナーを感じることの"理解"、"好感度"やタイプnullableデフォルトで'失敗したことになる非nullの良識ある、デフォルトではすべてオプトへのnullness.(ここでは多くの現代的な機能の言語である。) "null"は、通常、ヒープの不具合が発生します。

いう2つの異なる問題...

なぜそういった非nullのデータ型のクライアントまで、フルのC#?

簡単なので、値型のデータだけを頼りに確保し、コンパイラによって実際に値を持つように!

なぜなたの選択nullable種類により、デフォルトでの使用は非nullの種類が明示的にする。

としてのジョエルは、既に述べたように、できるだけする場合はnull参照タイプです。値型保証され、コンパイラによっています。の場合プログラムによって変数値を持つように、この行動しようと思うでしょうしないの選択nullableタイプです。

もちろん、お客様のデータがどこからでもないプログラムのすべてのベットはオフになります。最良の例ですからデータベース化します。データベースができます。 null, いいプログラム変数を再現するこ値だけでなく創る"魔法"価値は-1、0、または誰が"を表す" null.いことnullableます。

がnull値を指定できます便利に利用していない初期化されない-指定された"価値で、コードの複雑なものとして、がんの過負荷の意味 null どの変数またはnull前か-a-number).

NULL値が好の多くのデータベースのデザイナーおよびSQLデータベースプログラマーが小さな変更について考えの問題ですがなければnull値が実際により簡単に、より確実に行コード(例えば、悩 NullReferenceExceptionます。

が実際には大きな需要が"T!"オペレーターと参照型を非nullと同様のどのように"イラストのTシャツです!"が値型のnullable、Anders Hejlsberg、発明者のスレッドセーフで、C#、希望したの力です。

も参考にしてください、 なぜ"null"現在のクライアントまで、フルのC#、java?

を使うのNullable種類がどこにいても意味--いつ性能までの連続周回でも全く問題はなしいの地域で行われます。

しかし、もう一般的に、自分の価値観となっている非null.るわけではありません何度も思うようにNotNullable使用できます参照型について調べnullの場合の問題を取得します。nullの場合は、その後、私が利用するようにしてます。

の時間Nullableタイプ以外に使用されることは、特定の分野のテーブルのデータベースに絶対的に必要とする場合、nullを送信または受信がはいないのです。この場合でも、常にその周辺のNullableタイプです。Boolだけではないご友人です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top