首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在控制台C#中显示枚举

在控制台C#中显示枚举
EN

Stack Overflow用户
提问于 2014-12-13 14:15:30
回答 2查看 1.5K关注 0票数 0

我有一个任务,我必须得到一个日期,然后以不同的格式显示它(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);}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-13 14:22:28

您只需编写枚举值:

代码语言:javascript
代码运行次数:0
运行
复制
enum Month
{
    January=1,
    February=2
}
static void Main(string[] args)
{
    Console.WriteLine(((Month)1));
}

因此,您的PrintMonth可以接受一个int或一个月值,枚举的ToString()返回它的字符串表示形式。

票数 1
EN

Stack Overflow用户

发布于 2014-12-13 14:38:35

代码语言:javascript
代码运行次数:0
运行
复制
  m_Month = (Month)month;
        date.PrintMonth(m_Month.ToString());

但这并不是正确的实施方式。您应该使用Enum.Parse或Enum.TryParse,使用(int)Enum获取整数值,使用Enum.ToString()获取字符串值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27459756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档