コード :
Decimal kilometro = Decimal.TryParse(myRow[0].ToString(), out decimal 0);
いくつかの引数が無効ですか?
out decimal 0
は有効なパラメーター0
ではありません - は有効な変数名ではありません。
decimal output;
kilometro = decimal.TryParse(myRow[0].ToString(), out output);
ちなみに、戻り値はbool
- 変数の名前から、コードはおそらく次のようになります。
if(decimal.TryParse(myRow[0].ToString(), out kilometro))
{
// success - can use kilometro
}
を返したいのでkilometro
、次のことができます。
decimal kilometro = 0.0; // Not strictly required, as the default value is 0.0
decimal.TryParse(myRow[0].ToString(), out kilometro);
return kilometro;
まあ、型をdecimal.TryParse
返すbool
ので、次のようなことをする必要があります:
Decimal kilometro;
// if .TryParse is successful - you'll have the value in "kilometro"
if (!Decimal.TryParse(myRow[0].ToString(), out kilometro)
{
// if .TryParse fails - set the value for "kilometro" to 0.0
kilometro = 0.0m;
}
TryParse ステートメントの正しい使用法を以下に示します。最初に 10 進数を宣言してから、それを TryParse メソッドに渡す必要があります。TryParse が成功した場合kilometro
は新しい値になり、それ以外の場合はゼロになります。それがあなたの望む結果だったと思います。
decimal kilometro = 0;
if (Decimal.TryParse(myRow[0].ToString(), out kilometro))
{
//The row contained a decimal.
}
else {
//The row could not be parsed as a decimal.
}
追加の回答として、out パラメータをインラインで宣言できるようになりました。
if (decimal.TryParse(myRow[0].ToString(), out decimal outParamName))
{
// do stuff with decimal outParamName
}