2016-12-06 4 views
-4

私は比較的シャープでコーディングが新しく、後で呼び出すことができるクラスを作成しようとしています。私が作成しようとしているクラスには、あなたの車があなたが特定の価格を支払うほど多くの排出物を放棄するような単純なif文が含まれています。私の問題は、クラスでifを作成して後で呼び出すことができないということです。任意のヘルプは非常にクラス内にifステートメントを使用できますか?

public double emissions; 
public double carTax; 

public double ifCarTax(double emissions) 
     { 
      carTax = if (emissions == 0) 
      { 
       Console.WriteLine("Car tax is 120"); 
      } 
      else if (emissions >= 1 && emissions <= 80) 
      { 
       Console.WriteLine("Car tax is 170"); 
      } 
      else if (emissions >= 81 && emissions <= 100) 
      { 
       Console.WriteLine("Car tax is 180"); 
      } 
      else if (emissions >= 101 && emissions <= 110) 
      { 
       Console.WriteLine("Car tax is 190"); 
      } 
      else if (emissions >= 111 && emissions <= 120) 
      { 
       Console.WriteLine("Car tax is 200"); 
      } 
      else if (emissions >= 121 && emissions <= 130) 
      { 
       Console.WriteLine("Car tax is 270"); 
      } 
      else //Catch invalid input 
      { 
       Console.WriteLine("Invalid CO2 emissions"); 
      } 

     } 

     public double getCarTax() 
     { 
      return ifCarTax; 
     } 
+0

は、あなたが最初にそのクラス内の関数を作成する必要があり – mybirthname

+0

..コードを示しています。その関数は呼び出し可能で、その中にif文を置くことができます – Aidin

+0

そのクラスにメソッドを書く必要があります。このメソッドには有効なC#コードが含まれています。後で他の場所からメソッドを呼び出すことができます。 – Stefan

答えて

1

を高く評価されていない場合はこれが可能である。ここクラスの基本的な構造は、あなたの実際のコードを投稿した場合、我々はあなたが間違っていた場所を正確にあなたを伝えることができるでしょう... です。これにあなたの供給コードをリファクタリング

using System; 

class MyClassName 
{ 
    static void YourMethodName(string incomingString1, string incomingString2) 
    { 
     if (1 == 1) 
     { 
      //do something 
     } 
     else 
     { 
      //do something different 
     } 
    } 
} 

using System; 

namespace _41002924 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine(CarTax.getCarTax(100)); 
      Console.ReadLine(); 
     } 
    } 

    public static class CarTax 
    { 
     public static double emissions { get; set; } 
     public static double carTax { get { return getCarTax(emissions); } } 

     public static double getCarTax(double emissions) 
     { 
      if (emissions == 0) 
      { 
       Console.WriteLine("Car tax is 120"); 
       //carTax = 120; 
       return 120; 
      } 
      else if (emissions >= 1 && emissions <= 80) 
      { 
       Console.WriteLine("Car tax is 170"); 
       //carTax = 170; 
       return 170; 
      } 
      else if (emissions >= 81 && emissions <= 100) 
      { 
       Console.WriteLine("Car tax is 180"); 
       //carTax = 180; 
       return 180; 
      } 
      else if (emissions >= 101 && emissions <= 110) 
      { 
       Console.WriteLine("Car tax is 190"); 
       //carTax = 190; 
       return 190; 
      } 
      else if (emissions >= 111 && emissions <= 120) 
      { 
       Console.WriteLine("Car tax is 200"); 
       //carTax = 200; 
       return 200; 
      } 
      else if (emissions >= 121 && emissions <= 130) 
      { 
       Console.WriteLine("Car tax is 270"); 
       //carTax = 270; 
       return 270; 
      } 
      else //Catch invalid input 
      { 
       Console.WriteLine("Invalid CO2 emissions"); 
       //carTax = -999; 
       return -999; 
      } 
     } 
    } 
} 
+0

私は自分のコードを投稿しようとしましたが、私にとっては適切ではありません。 – paul

+0

@ AnyoneDoing-1バックアップするコメントなしで-1に感謝します。 Paul、私はあなたの提供したコードを、あなたをさらに進化させるようなものにリファクタリングしました。 –

+0

私は、このソリューションは、OPで提供されているコードから混乱のいくつかをクリアすることにメリットがあると信じています。 – nocturns2

関連する問題