私のListentryがnullであるかどうかをチェックしたいが、私は方法がわからない。整数== nullを確認する
注: IDは整数
であるここに私のコードは、int
はNULLにすることはできません
if(MeineGaeste[i].ID !=null)
{
i++;
}
else
{
MeinGast.ID = i++;
test = false;
}
私のListentryがnullであるかどうかをチェックしたいが、私は方法がわからない。整数== nullを確認する
注: IDは整数
であるここに私のコードは、int
はNULLにすることはできません
if(MeineGaeste[i].ID !=null)
{
i++;
}
else
{
MeinGast.ID = i++;
test = false;
}
前述のように、intをnullにすることはできません。値が設定されていない場合、デフォルト値は0と考えられます。もしそれが0に設定されていると思われる場合は0をチェックすることができます。
それ以外の場合、ヌル可能な整数を避けることが大切だとすれば、それを文字列に変換してからチェックを実行する必要があります。あなたはif文にそれを固執することができますように、ブール値を返します
String.IsNullOrEmpty(ID.ToString());
。
です。一方、null可能なint、int?
は可能です。あなたがしたいという小切手は無意味だと言われています。
ID
のタイプをint
からint?
に変更することは意味を持ち、コンパイラはそれに不平を感じません。
通常、int
タイプは値タイプですので、null
にすることはできません。
あなたは基本的にnull
または任意のint
値を可能にする構造体であり、財産ID
ためのNULL可能タイプint?
を使用することができます。追加のドキュメントについては、MSDNまたはthis questionまたはthis questionを参照してください。
ID
プロパティのタイプを変更できない場合は、モデルに表示されないことが保証されているマーカー値として整数を選択できます(たとえば、Int32.MinValue
)。生成されるIDの多くは正のようです整数)。 これが必要ない場合は、これを行わないでください。エラーが発生する可能性が最も高いためです。そのマーカー値でモデルをシリアル化する場合は、例外をスローすることをお勧めします。
ありがとう、私はそれを知っている、私の質問は完璧ではなかった..私は代替が必要です。 – Yannik
整数をnullにすることはできません。 'int'または' int? 'として宣言されていますか? – Blorgbeard
'ID'メンバが' int'として__declared__である場合、比較 'ID!= null'は無意味です。あなたはそれについてのコンパイル時の警告を得るでしょう。 –