私はenums
をC#で使用して、さまざまな形状の領域を計算しています。以下は私のコードです:C# - 無効な出力
using System;
class Area
{
public enum Shape{Circle,Square};
public void AreaShape(int x,Shape ob1)
{
double a;
switch(x)
{
case (int)Shape.Circle:
a=Math.PI*x*x;
Console.WriteLine("Circle "+a);
break;
case (int)Shape.Square:
a=x*x;
Console.WriteLine("Square "+a);
break;
default:
Console.WriteLine("Invalid");
break;
}
}
}
class MyTestOne
{
public static void Main(String[] a)
{
Area obj1=new Area();
obj1.AreaShape(15,Area.Shape.Circle);
obj1.AreaShape(15,Area.Shape.Square);
}
}
以下はエラーを生成します。
obj1.AreaShape(15,Shape.Circle);
obj1.AreaShape(15,Shape.Square);
は、どのように私は次の出力を得ることができますか?
Circle 225*pi
Square 225
私はArea.Shape.Circle
とArea.Shape.Square
を使用すると、出力は次のとおりです。あなたが常に15
として渡しているx
上
Invalid
Invalid
int型のx変数ではないパスシェイプ列挙型クラスは、私はあなたがob1' 'に切り替えたいと思いますか? – stuartd
'switch 'を' switch(ob1) 'に変更する必要がありますか? – Peter