为什么我的列表显示每个对象为“System.Collections.Generic.List`1 [System.DateTime]”

时间:2016-04-19 22:06:09

标签: c# .net list

我想要一个在今天前五天开始到今天十天后结束的列表。 在列表中,我想每天生成一个项目符号。

我似乎得到正确数量的项目符号,但每个项目的值都是System.Collections.Generic.List`1 [System.DateTime]

我的代码在下面:

@{
    var dates = new List<DateTime>();
    var start = DateTime.Now;
    var end = start.AddDays(10);

    for (var dt = start; dt <= end; dt = dt.AddDays(1))
    {
        <li>@dates</li>
        dates.Add(dt);
    }
}

显示器:

System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]
System.Collections.Generic.List`1[System.DateTime]

我确信我所缺少的是显而易见的......我感到愚蠢,但任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

这就是你要告诉它的事情。

for (var dt = start; dt <= end; dt = dt.AddDays(1))
   {
       <li>@dates</li> <-- for each iteration, print dates.tostring
       dates.Add(dt);
   }

funcition List<DateTime>.ToString()只返回typename,其长格式为System.Collections.Generic.List1[System.DateTime]

试试这段代码:

for (var dt = start; dt <= end; dt = dt.AddDays(1))
   {
       <li>@dt</li> 
       dates.Add(dt);
   }