当我形成了下面的代码linq迭代需要单行吗?
Rabbit[] rbt=
new Rabbit[]
{
new Rabbit{ Name="Jobby", Vegetable=new Vegetable{ VegiName="carrot"}},
new Rabbit{ Name="hobby", Vegetable=new Vegetable{ VegiName="Beetroot"}}
};
var s = from bt in rbt where
bt.Vegetable.VegiName.CompareTo("carrot") == 0 select bt;
foreach (var v in s)
{
Console.WriteLine("{0}{1}",v.Vegetable.VegiName,v.Name);
}
我的查询只返回单列,那么为什么我需要的foreach迭代?我无法使用
Console.WriteLine("{0}{1}",s.Vegetable.VegiName,s.Name); directly ?
什么是错在 变种ķ从BT =在RBT从C在bt.Vegetable其中c.VegiName.CompareTo( “胡萝卜”)== 0选择C;宣言 ? – RusselUdana 2009-10-18 22:05:16
“bt.Vegetable中b从rbt中c”不起作用,因为bt.Vegetable不是IEnumerable。在“from c in ...”中,...必须是IEnumerable。 – itowlson 2009-10-18 22:09:33
我从客户中看到c, o在c.Orders where o.OrderDate> = new DateTime(1998,1,1) select new {c.CustomerID,o.OrderID,o.OrderDate}; 从微软网站,所以我问。 – RusselUdana 2009-10-18 22:14:59