日期:2014-05-18  浏览次数:20983 次

LINQ查询的问题
这是一部分示例代码
C# code

var query = from c in Costomers
            where c.coutry = = "Italy"
            select c.companyName;

foreach(string name in query)
{
  Console.WriteLine(name);
}




问题是:这个query是什么,存储的是什么内容——存储的是查询结果吗?他的类型是什么?
query是数组吗?
   
  请大神帮忙详细解释下,谢谢!


------解决方案--------------------
LINQ的底层是IEnumerable.所以这个query也是。
------解决方案--------------------
满足你条件的Costomers
,等于筛选后的Costomers
------解决方案--------------------
如果Costomers(Customers)是IQueryable<Customer>,也就是LINQ to SQL,那么查询出来的是IQueryable<string>,如果Customers是List<Customer>或者Customer[]或者别的对象,也就是LINQ To Object,那么query是IEnumerable<string>。

你可以加上
Console.WriteLine(query.GetType());
看看输出什么类型。