【C#枚举基础知识求解】C# codepublic enum directions{U,D,L,R}这个枚举为什么要加“” 不加可以吗C# code
【C#枚举基础知识求解】
C# codepublic enum directions { U,D,L,R };
这个枚举为什么要加“;” 不加可以吗
C# code public directions dir;public virtual void Adjustdrection() { switch (dir) { case directions.U: this.Y -= Speed; break; case directions.D: this.Y += Speed; break; case directions.R: this.X += Speed; break; case directions.L: this.X -= Speed; break; } }
这种判断 是什么意思 得怎么理解 判断directions定义的变量等于directions.U 这是怎么个比对法
枚举定义的变量 和枚举本身的变量有什么区别
[解决办法]枚举型的规则
[解决办法]http://msdn.microsoft.com/zh-cn/library/sbbt4032(v=vs.80).aspx
class Program
{
enum directions { U,D,L,R };
static void Main(string[] args)
{
directions d=directions.R;
Console.WriteLine(Adjustdrection(d, 100, 100));
}
static int Adjustdrection(directions dir, int X, int Y)
{
switch (dir)
{
case directions.U:
Y -= 50;
return Y;
case directions.D:
Y += 50;
return Y;
case directions.R:
X += 50;
return X;
case directions.L:
X -= 50;
return X;
default:
return 0;
}
}
}
枚举定义的变量你給定值後自然會等於枚举本身的变量
[解决办法]不加;是可以的。
加上也没事。
[解决办法]directions d=directions.R;
Console.WriteLine(Adjustdrection(d, 100, 100));
directions dd=directions.U;
Console.WriteLine(Adjustdrection(dd, 100, 100));
dd!=d當然你要設dd==d也ok。
directions d=directions.R;
directions dd=directions.R;
[解决办法]你暂时可以把U,D,L,R看作是4个static readonly int 的字段
switch-case 就像是单刀多路开关
[解决办法]