我需要创建某事的对/三元组并将其存储在某处。我该怎么办?
我试过了:
for (int i = 0; i < 100; i++)
{
var item=new { a=i , b="lala" ,c=4.5m}; //anonymous type
}
但后来我想:List<what>
?
我可以使用动态,但我想要Intellisense。
(我也可以使用Tuple<int,string,decimal>
但是如果我已经拥有了我需要的东西(=new { a=i , b="lala" ,c=4.5m};
),我为什么要使用其他类型(元组)?)
有没有解决方案?
答案 0 :(得分:14)
您可以使用类型推断
var items = Enumerable.Range(0,100)
.Select(i => new { a=i , b="lala", c=4.5m })
.ToList(); // not necessary (you can use IEnumerable)
答案 1 :(得分:3)
不确定,如何填写for
中的字段,但是您可以尝试:
var lstOfSmth = Enumerable.Range(0, 100)
.Select(i => new { a = i, b = "lala", c = 4.5m })
.ToList();
答案 2 :(得分:2)
为什么我要使用其他类型(元组)
因为它们的设计完全是为了这个目的。如果你害怕冗长的代码,那么using
指令也会受到拯救。
using myPair = Tuple<int,string>;
using myTriple = Tuple<int,string,decimal>;
//...
for (int i = 0; i < 100; i++)
{
myPair pair = new myPair(1,"string");
myTriple triple = new myTriple(i,"lala", 4.5);
}