读书人

请问!枚举和结构的一个案例有关问题

发布时间: 2012-01-11 22:28:46 作者: rapoo

请教!枚举和结构的一个案例问题,
using System;
using System.Collections.Generic;
using System.Text;

namespace 结构案例
{
enum orientation : byte //定义orientation枚举
{
north = 1,
south = 2,
east = 3,
west = 4,
}
struct route //定义了结构
{
public orientation direction; //通过关键字 public 定义了枚举新的变量
public double distance; //定义double 变量
}
class Program
{

static void Main(string[] args)
{
route myRoute; //结构定义新变量
int myDirection = -1;
double myDistance;
Console.WriteLine("1> North\n 2> South\n 3> East\n 4>West");
do
{
Console.WriteLine("select a direction:");
myDirection = Convert.ToInt32(Console.ReadLine());//转换类型
} while ((myDirection < 1) || (myDirection > 4));
Console.WriteLine("input a distance;");
myDistance = Convert.ToDouble(Console.ReadLine());//转换类型
myRoute.direction = (orientation)myDirection;
myRoute.distance = myDistance;
Console.WriteLine(" myRoute specifies a direction of{0} and a" +
"distance of {1}", myRoute.direction, myRoute.distance);
Console.ReadKey();



}
}
}


[解决办法]

探讨
int myDirection = -1;

myDirection = Convert.ToInt32(Console.ReadLine());//转换类型

上面定义了类型后,下面赋值,能这样子吗??
-1 = Convert.ToInt32(Console.ReadLine());// ????

[解决办法]
int myDirection = -1;
myDirection = Convert.ToInt32(Console.ReadLine());//转换类型

LZ分明误会了这两句的含义。
-1只是myDirection的初始值。你可以不给它赋初值,
直接:int myDirection;(当然,赋成其他值也可以,比如0.)
第二句才给它赋值:myDirection = Convert.ToInt32(Console.ReadLine());
[解决办法]

myDirection = Convert.ToInt32(Console.ReadLine());//转换类型

myDirection 是一个int型的变量 这个myDirection 的初始值是"-1" 而非-1 = Convert.ToInt32(Console.ReadLine());
楼主理解错误

读书人网 >C#

热点推荐