當我形成了下面的代碼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