【问题标题】:c# how to print string array in the console?c#如何在控制台打印字符串数组?
【发布时间】:2015-11-25 19:16:31
【问题描述】:

粗体字是我需要更改的地方,但不确定是什么。我希望控制台将月份显示为字符串,例如“Jul”“Aug”... 基本上我对案例 1 的编码显示 = 1/1/2001 案例 3 我希望它显示 = 1/Jan/2001

static void Main(string[] args)
{

    do
    {
        Console.WriteLine("Please select a date format by entering either the 1, 2 or 3 Key");
        Console.WriteLine(" 1 = dd/mm/yyyy ");
        Console.WriteLine(" 2 = mm/dd/yyyy ");
        Console.WriteLine(" 3 = dd/mmm/yyyy ");
    } while (!int.TryParse(Console.ReadLine(), out f) || f < 0 || f>3);

    switch(f)
    {
        case 1:
            getDate1();
            Console.WriteLine("The day after {0}/{1}/{2} is {3}", d, m, y, md.NextDay1());
            break;
        case 2:
            getAmericanDate();
            Console.WriteLine("The day after {1}/{0}/{2} is {3}", d, m, y, md.NextDay1());
            break;
        **case 3:
            getAbbreviatedMonth();
            Console.WriteLine("The day after {1}/{4}/{2} is {3}", d, m, y, md.NextDay1());
            break;**

    }


static void getAbbreviatedMonth() //dd/mmm/yyyy
{

    do
    {
        Console.Write("PLease enter the year (not earlier than 1812) as 4 digits  >> ");
    } while (!int.TryParse(Console.ReadLine(), out y) || y < 1812);


    do
    {
        Console.Write("Please enter the month as a three letter character ( e.g 'Jul')   >> ");
    } while (isCorrectMonth(Console.ReadLine()));


    do
    {

        Console.Write("Please enter the day as a whole between 1 & {0} >> ", DayInMonth(m, y));
    } while (!int.TryParse(Console.ReadLine(), out d) || d > DayInMonth(m, y) || d < 1);



    md = new myDate(d, m, y);
}


static bool isCorrectMonth(string monthToCheck)
{
    string stringToCheck = monthToCheck.ToLower();
    string[] stringArray = { "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" };
    foreach (string x in stringArray)
    {
        if (x.Contains(stringToCheck))
        {
            // Process..
            return true;
        }
        else
        {
            return false;
        }
    }
    return false;
}

【问题讨论】:

    标签: c# arrays string printing console


    【解决方案1】:
    Console.WriteLine("The day after {1}/{4}/{2} is {3}", d, m, y, md.NextDay1())
    

    您的参数范围应为 0-3,而不是 1-4。

    您可能会发现将输入解析为 DateTime 更容易,然后可以轻松地以各种格式输出 - 您只需调用 .AddDays(1) 即可找到第二天。

    【讨论】:

      【解决方案2】:

      请参阅此示例以格式化日期:

      DateTime time = DateTime.Now;             // Use current time.
      string format = "MMM ddd d HH:mm yyyy";   // Use this format.
      Console.WriteLine(time.ToString(format)); // Write to console.
      

      输出是:

      Feb Fri 27 11:41 2009
      

      来源是http://www.dotnetperls.com/datetime-format

      【讨论】:

        猜你喜欢
        • 2013-02-10
        • 1970-01-01
        • 2014-04-23
        • 2023-01-03
        • 2016-07-23
        • 2018-05-04
        • 1970-01-01
        • 2017-08-17
        • 1970-01-01
        相关资源
        最近更新 更多