我有一个任务,我必须得到一个日期,然后以不同的格式显示它(MM/ DD / YYYY,DD/MM/YYYY,DD/YYYY,DD月YYYY等等)。这几个月必须是枚举,我必须在一个单独的类Date
中完成。我首先尝试使用switch
将枚举转换为字符串,但每次从控制台解析数字时都会出现错误。以下是代码:
月{1月= 1,法布鲁里,3月、4月、5月、6月、7月、8月、9月、10月 11月、12月} 类日期{私有int m_Day,m_Year;私有月份m_Month;公共日期( int日、月、int年){ this.m_Day =天;this.m_Month =月份;this.m_Year =年份;} public void (){ string = "";Console.WriteLine(PrintMonth(月份));}公共字符串PrintMonth(字符串月份){ int x=(Int)个月;开关(x) {案例1:月份=“一月”;中断;案例2:月份= "Fabruary";中断;案例4:月份=“4月”;}返回月份;}公共int日{获取{返回m_Day;}设置{ if(Day>=0&&Day<=31)m_Day =值;}公共月份{获取{返回m_Month;} set { if (Month >= Month.January && Month <= Month.December)m_Month = value;}公共int年{ get {返回m_Year;} set { m_Year =值;}
这就是Main
块
静态空腔主(string[] args) { int m_Day=0,m_Year=0;m_Month=0;Date date =新日期(m_Day,m_Month,m_Year);int月份= int.Parse(Console.ReadLine());m_Month =(月份)月份;date.PrintMonth(m_Month);}
发布于 2014-12-13 06:22:28
您只需编写枚举值:
enum Month
{
January=1,
February=2
}
static void Main(string[] args)
{
Console.WriteLine(((Month)1));
}
因此,您的PrintMonth可以接受一个int或一个月值,枚举的ToString()返回它的字符串表示形式。
发布于 2014-12-13 06:38:35
m_Month = (Month)month;
date.PrintMonth(m_Month.ToString());
但这并不是正确的实施方式。您应该使用Enum.Parse或Enum.TryParse,使用(int)Enum获取整数值,使用Enum.ToString()获取字符串值
https://stackoverflow.com/questions/27459756
复制相似问题