我正在尝试进行简单的数据系列测试,并且所有内容都按预期工作,但我想切换
List<DateTime> events = new List<DateTime>();
到
List<dynamic> events = new List<dynamic>();
当我将列表切换为动态时,我收到了这两个错误。 “无法找到编译动态表达式所需的一种或多种类型。您是否缺少引用?”并且这两个错误发生在Console.Writeline
上知道如何用动态输出List吗?
这是我的代码:
[TestMethod]
public void TimeSeriesData()
{
List<dynamic> events = new List<dynamic>();
var stream = new
{
Id = 15,
Name = "StreamA" + 15,
TypeId = "TypeA"
};
_server.PostStream(stream);
DateTime startTime = DateTime.Today; // 12:00
DateTime endTime = DateTime.Today; // 12:00 +1 sec
endTime = endTime.AddDays(1);
endTime=endTime.AddSeconds(1);
for (int i = 0; i < 3000; i++)
{
if (i % 2 == 0) //is even
{
var dataStart = new
{
TimeId = startTime.AddSeconds(i),
ValueStart = i
};
events.Add(startTime.AddSeconds(i));
}
else //is odd
{
var dataEnd = new
{
TimeEnd = endTime.AddSeconds(-i),
ValueEnd = i
};
events.Add(endTime.AddSeconds(-i));
}
}
foreach (var item in events)
Console.WriteLine("Time: {0} ", item.ToString());
}
答案 0 :(得分:-1)
不确定,这很好用:
var l = new List<dynamic>();
l.Add(new {dt=DateTime.Now});
l.Add(DateTime.Now);
foreach (var o in l)
{
Console.WriteLine(o.ToString());
}
您的代码在我的计算机上编译并运行良好。