我正在尝试
new Dictionary<long,Venta>(){
new KeyValuePair<long,Venta>(1,new Venta(1,1,50)),
new KeyValuePair<long,Venta>(2,new Venta(1,1,50))
};
但这不是正确的语法,我不知道该怎么做。也许我要使用带有.callback的lambda
答案 0 :(得分:2)
初始化词典的正确语法可在this MSDN article找到:
Dictionary<int, StudentName> students = new Dictionary<int, StudentName>()
{
{ 111, new StudentName {FirstName="Sachin", LastName="Karnik", ID=211}},
{ 112, new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317}},
{ 113, new StudentName {FirstName="Andy", LastName="Ruth", ID=198}}
};
在你的情况下你会这样做:
new Dictionary<long, Venta>()
{
{ 1, new Venta(1, 1, 50) },
{ 2, new Venta(1, 1, 50) }
}
请参阅此fiddle。
答案 1 :(得分:1)
字典初始化:http://msdn.microsoft.com/en-us/library/bb531208.aspx
var mockDict = new Dictionary<long,Venta>()
{
{1,new Venta(1,1,50)},
{2,new Venta(1,1,50)}
};
顺便说一句,这将被视为存根,而不是模拟(http://martinfowler.com/articles/mocksArentStubs.html)
根据我的经验,很多人关心的是一行超过80个字符的代码。可能这些数据并不重要,并且在您的测试代码中的某个地方捆绑在一起,但是当您必须在文本编辑器中滚动或者甚至必须多次浏览一行以便阅读它时,它很快就会变得乏味。