我在C#中使用enums
來計算不同形狀的面積。下面是我的代碼: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
,輸出結果是:在x
Invalid
Invalid
您在'x'參數的切換,我想你想在'ob1'切換? – stuartd
你的'switch'應該改成'switch(ob1)'嗎? – Peter