2016-08-25 1 views
0

をスローしますC#のチェックは、私は壮大な何も... JSONレスポンスを期待メソッド内で簡単なAPI呼び出しを書いていないFormatException

:だから私は

しかし、この... is nullis string.Emptyをチェックして、ユーザーが不足している値を入力できるダイアログを調達しようとした利用できるAPIからパラメータ...

  if (responseString.weight == null ||responseString.weight == string.Empty) 
      { 
       DialogArgs args = new DialogArgs(); 
       args.Add("Gewicht"); 
       OnMissingValue?.Invoke(args); 
       item.weight = args.Get<float>("Gewicht"); 
      } 
      else 
      { 
       item.weight = Convert.ToSingle(responseString.weight)/1000; 
      } 

又は

if (string.IsNullOrEmpty(responseString.weight)) 

FormatExceptionをスロー。 is nullまたはis string.Emptyのいずれかをチェックすると魅力的です。私はref型とvalue型の間の差異を知っていて、おそらく問題があると思っています...しかし、なぜこのように振る舞うのかを知りたいのですが...

ありがとうございます。 。

マルクス

+1

をif文は** 'FormatException'を投げていないこと:あなたはこのよう文字列にキャストする必要があります。 if-thenブロック内のコードは、狭めてください。 –

+0

私は 'Convert.ToSingle'例外をスローすると思います。 –

+0

いいえ、それは確かにコードが内部ではなく、それは 'FormatException'であり、内側の例外はありません... Stacktraceはあまり役に立ちません... –

答えて

0

[OK]を、私はそれを得る... dynamic記述子がその理由です。

if (string.IsNullOrEmpty((string)responseString.weight)) 

...おかげで、あなたの努力のため

マルクス

関連する問題