2017-04-14 4 views
-1

TryParseメソッドを使用して結果を出力しようとしていますが、結果を表示するために3値出力を使用する方法が固まっています。助けてもらえますか?Console.WritelineをC#の3進演算子で使用する

using System; 
namespace Video1 
{ 
    class Program 
    { 
     static void Main() 
     { 
      string number = "100.51yutr"; 
      int Result_of_Conversion = 0; 
      bool is_Conversion_Successful = int.TryParse(number, out Result_of_Conversion); 

      is_Conversion_Successful == true ? Console.WriteLine(Result_of_Conversion) : Console.WriteLine("Check"); 
     } 
    } 
} 
+0

'Console.WriteLineを(is_Conversion_Successful Result_of_Conversion:? "チェック");' – Rob

+0

申し訳ロブ..それは動作しません。 "'int'と 'string'の間に暗黙的な変換がないため、条件式の型を判別できません"というエラーが返されます。 – TotalGadha

+0

@TotalGadhaあなたは 'Result_of_Conversion.ToString()'を呼び出す必要があります。 – m1kael

答えて

4

置き換え

is_Conversion_Successful == true ? Console.WriteLine(Result_of_Conversion) : Console.WriteLine("Check"); 

Console.WriteLine(is_Conversion_Successful ? Result_of_Conversion.ToString() : "Check"); 
+0

これはうまくいく.. .. !!ありがとう。しかし、なぜあなたは、console.writelineメソッドの中に三項演算子条件を含めるのかを説明してもらえますか?私が元来していたロジックに何が間違っていたのか?あなたの助けをありがとう – TotalGadha

+1

ようこそ。これは、Console.WriteLineが式ではなく、値を返さないか、結果が値であるためです。三項は結果を生み出す必要があり、価値です。したがって、選択するには_values_を指定する必要があります。 – m1kael

+0

ああ...私は今参照してください。ブリリアント。!!再びありがとうございました.. :) – TotalGadha

1

より読みやすいアプローチで

class Program 
{ 
    static void Main() 
    { 
     string number = "100.51yutr"; 
     int Result_of_Conversion = 0; 
     bool is_Conversion_Successful = int.TryParse(number, out Result_of_Conversion); 

     var result = is_Conversion_Successful ? Result_of_Conversion.ToString() : "Check"; 
     Console.WriteLine(result); 
    } 
} 
+0

ありがとうMukesh .. :) – TotalGadha

関連する問題