文字列が空であればnullを渡して、文字列をdoubleに変換したいとします。誰かが構文を教えてくれますか?どこが間違っているの? 現在の構文:それは付加価値ではなく、参照型なのでcで倍精度に変換するときにデフォルト値を設定する#
IngredientMinRange = !string.IsNullOrEmpty(MinRange) ? Convert.ToDouble(MinRange) : null
文字列が空であればnullを渡して、文字列をdoubleに変換したいとします。誰かが構文を教えてくれますか?どこが間違っているの? 現在の構文:それは付加価値ではなく、参照型なのでcで倍精度に変換するときにデフォルト値を設定する#
IngredientMinRange = !string.IsNullOrEmpty(MinRange) ? Convert.ToDouble(MinRange) : null
double
はnull
することはできません。 IngredientMinRange
がすでにある場合は
if(ingredientMinRange.HasValue)
{
double value = ingredientMinRange.Value;
}
Using Nullable Types (C# Programming Guide)
:あなたはHasValue
とValue
プロパティを使用することができます
double? ingredientMinRange = null;
if(!string.IsNullOrEmpty(MinRange))
ingredientMinRange = Convert.ToDouble(MinRange);
後でdouble
値をしたい場合:あなたはNullable<double>
代わりに使用することができますDouble?
-propertyをコメントとして使用すると、値を割り当てることができます
IngredientMinRange = string.IsNullOrEmpty(MinRange) ? (double?)null : Convert.ToDouble(MinRange);
を取得しているよりも、 'TryParse'の代わりに' Convert.ToDouble'を使用しますか? (ちょうど尋ねる)それは速いか何かですか? –
@MatthiasBurger:いいえ、私は 'double.Parse'または' double.TryParse'(入力が無効な場合)を好むでしょう。しかしOPは 'Convert.ToDouble'を使用していたので、私はそれが有効であると仮定しました。たぶん 'Convert.ToDouble'は、入力が' string'の代わりに 'object'の場合に便利です。 –
ああ大丈夫、いつも別の意見を得るには良い:) –
ダブルあなたがNullable<double>
やdouble?
を使用する必要がありますにnull
を割り当てるには:if
を経由して(上図のように)または1つのラインでは、しかし、あなたはnull
キャストする必要があります。ここでは、この方法でそれを割り当てます。
decimal temp;
decimal? IngredientMinRange = decimal.TryParse(MinRange, out temp) ? temp : (decimal?)null;
あなたはIngredientMinRange
で作業を続けることができます。 IngredientMinRange.Value
で値を取得するか、ヌルであるかどうかを確認するIngredientMinRange.HasValue
doubleは値型ですnullを割り当てるにはNULLを許可する必要があります –
null可能public doubleですか? IngredientMinRange {get;セット; }ここにdefinationがあります。 – Programmermid
これはnullable doubleを返さない:Convert.ToDouble(MinRange) – Rumplin