私のVS2010は奇妙に動作しているようです(またはそれは私だけかもしれません)!
次の議論で何がそんなに無効なのですか?
このエラーが発生するのは私だけですか?
私のVS2010は奇妙に動作しているようです(またはそれは私だけかもしれません)!
次の議論で何がそんなに無効なのですか?
このエラーが発生するのは私だけですか?
結果を保存するには、実際のdoubleを渡す必要があります。メソッドTryParseは、2番目のパラメーターをとして宣言しますout double
。これは、そこに何かを格納することを意図していることを意味します。
get
{
double d;
double.TryParse(lat1.Text, out d);
return d;
}
この振る舞いが「バギー」と見なされるのは皮肉なことです。
裸のCの古代では、そのようなエラーがハードディスクを一掃する可能性がありました。
あなたは何をするのか誤解しましTryParse
た。lati.Text
有効なdoubleであることが確実な場合は、を使用してdouble.Parse(lati.Text)
ください。文字列を受け取り、doubleを返します。ゲッターは次のようになります。
get { return double.Parse(lat1.Text); }
この場合、lat1.Text
が有効なdoubleでない場合は、例外がスローされて中断されます。これが希望する動作ではない場合はdouble.TryParse
、ブール値を返すために使用する必要があります(テキストが正常に解析された場合はtrue、そうでない場合はfalse)。の2番目のパラメーターはTryParse
、ホルダー変数である必要があります。ホルダー変数TryParse
は、終了後、解析された値を保持します。このアプローチを使用すると、コードは次のようになります。
get
{
double lat;
if (double.TryParse(lat1.Text, out lat))
return lat;
else
{
// This line is reached if lat1.Text is not a valid double.
// You decide what's best to do here
return -1;
}
}
-parameterconst double
にを割り当てることはできません。out
それに変数を与えてdouble
ください!
string s = "1.23";
double d = 0.0;
double.TryParse(s, out d);
あなたのゲッターはこのようなものでなければなりません
get {
double result;
if(!double.TryParse(lati.Text, out result))
throw new Exception("your message");
return result;
}
TryParseの2番目のパラメーターは変数である必要があります。定数0を渡しています。