C# 在列表中插入时未显示日期时间输出

C# 在列表中插入时未显示日期时间输出,c#,datetime,C#,Datetime,对于下面的代码,当我从“For”循环中显示日期时,我得到了预期的答案,但当我将日期存储在列表中时,我得到了一些其他输出 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 {     class dateshow     {         static void Main

对于下面的代码,当我从“For”循环中显示日期时,我得到了预期的答案,但当我将日期存储在列表中时,我得到了一些其他输出

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class dateshow
    {
        static void Main(string[] args)
        {
            List<DateTime> allDates = new List<DateTime>();
            DateTime startDate = Convert.ToDateTime("2018-03-03");
            DateTime endDate = Convert.ToDateTime("2018-03-15");
            for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
            {
               allDates.Add(date);
               
               Console.WriteLine(date);

               Console.WriteLine(allDates);  //ERROR : doesnt display the dates, instead displays System.Collections.Generic.List`1[System.DateTime]

            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间控制台EAPP1
{
班级日播
    {
静态void Main(字符串[]参数)
        {
List allDates=新列表();
DateTime startDate=转换为ToDateTime(“2018-03-03”);
DateTime endDate=转换为ToDateTime(“2018-03-15”);

对于(DateTime date=startDate;date
allDates
DateTime
对象的列表,这就是为什么您会得到以下内容:

System.Collections.Generic.List`1[System.DateTime]
您需要分别迭代
allDates
变量

foreach (var date in allDates)
{
     Console.WriteLine(date.ToString());
}

allDates
DateTime
对象的列表,这就是为什么会出现以下情况:

System.Collections.Generic.List`1[System.DateTime]
您需要分别迭代
allDates
变量

foreach (var date in allDates)
{
     Console.WriteLine(date.ToString());
}
这样:

    static void Main(string[] args)
    {
        List<DateTime> allDates = new List<DateTime>();
        DateTime startDate = Convert.ToDateTime("2018-03-03");
        DateTime endDate = Convert.ToDateTime("2018-03-15");
        for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
        {
            allDates.Add(date);

            Console.WriteLine(date);

            allDates.ForEach(x => Console.WriteLine(x));
        }
    }
static void Main(字符串[]args)
{
List allDates=新列表();
DateTime startDate=转换为ToDateTime(“2018-03-03”);
DateTime endDate=转换为ToDateTime(“2018-03-15”);
对于(DateTime date=startDate;date Console.WriteLine(x));
}
}
或:

static void Main(字符串[]args)
{
List allDates=新列表();
DateTime startDate=转换为ToDateTime(“2018-03-03”);
DateTime endDate=转换为ToDateTime(“2018-03-15”);
对于(DateTime date=startDate;date,按此方式:

    static void Main(string[] args)
    {
        List<DateTime> allDates = new List<DateTime>();
        DateTime startDate = Convert.ToDateTime("2018-03-03");
        DateTime endDate = Convert.ToDateTime("2018-03-15");
        for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
        {
            allDates.Add(date);

            Console.WriteLine(date);

            allDates.ForEach(x => Console.WriteLine(x));
        }
    }
static void Main(字符串[]args)
{
List allDates=新列表();
DateTime startDate=转换为ToDateTime(“2018-03-03”);
DateTime endDate=转换为ToDateTime(“2018-03-15”);
对于(DateTime date=startDate;date Console.WriteLine(x));
}
}
或:

static void Main(字符串[]args)
{
List allDates=新列表();
DateTime startDate=转换为ToDateTime(“2018-03-03”);
DateTime endDate=转换为ToDateTime(“2018-03-15”);

for(DateTime date=startDate;date)使用
for循环
迭代生成的列表并输出其值。或者使用
string.Join
,例如
Console.WriteLine(string.Join(',',',,allDates))
。不过如果您想在循环中这样做,我会感到惊讶。请使用以下命令:Console.WriteLine(string.Join(,“,”,allDates.Select(x=>x.ToString());使用
for循环
迭代生成的列表并输出其值。或者使用
string.Join
,例如
Console.WriteLine(string.Join(',',',',,allDates))
。尽管如果您想在循环中执行此操作,我会感到惊讶。请使用以下命令:Console.WriteLine(string.Join(,,),allDates.Select(x=>x.ToString());