这是一部分示例代码var query = from c in Costomers
where c.coutry = = "Italy"
select c.companyName;foreach(string name in query)
{
Console.WriteLine(name);
}问题是:这个query是什么,存储的是什么内容——存储的是查询结果吗?他的类型是什么?
query是数组吗?
请大神帮忙详细解释下,谢谢!
where c.coutry = = "Italy"
select c.companyName;foreach(string name in query)
{
Console.WriteLine(name);
}问题是:这个query是什么,存储的是什么内容——存储的是查询结果吗?他的类型是什么?
query是数组吗?
请大神帮忙详细解释下,谢谢!
解决方案 »
- C#
- c#调用dll的问题
- 怎样删除登录时保存用户登录信息的cookie
- 取字符问题!请进帮忙!
- DataGrid绑定中的替换``
- 100求一简单问题,在线等~
- 关于数据的问题,极度郁闷,高手请指教,在线等,谢谢
- 怎么不使用SQL Server分布式管理对象,枚举出服务器上的数据库已经数据库中的表?
- 请问:ado.net数据库连接sql server问题:服务器不知道机器名,只知道ip为“10。99。20。20”,要访问的表名为“aaa”,用户名“123”,
- 如何调用.net组件
- 求大虾们给个思路,小弟我把所剩的分数都贡献出来了,虽然只有80分
- C# 怎么把 2012/4/12 0:00:00 变成 2012-04-12 ?
,等于筛选后的Costomers
where c.coutry = = "Italy"
select c.companyName;查询出来的数据类型是什么就是什么类型
Console.WriteLine(query.GetType());
看看输出什么类型。
List<int> ZeroTo10000000()
{
var result = new List<int>();
for (int i = 0; i <= 10000000; i++) result.Add(i);
return result;
}和
IEnumerable<int> ZeroTo1000000_2()
{
for (int i = 0; i <= 10000000; i++) yield return i;
}
调用
var query1 = from x in ZeroTo10000000().Take(10) select x;
var query2 = from x in ZeroTo10000000_2().Take(10) select x;
很明显,第二个查询要快很多。
对于“同时是LINQ查询出来的结果”我有个疑问,我写的那个代码不是只有在foraech遍历的时候才会执行查询么? 那么对于下面的语句:
var query = from c in Costomers
where c.coutry = = "Italy"
select c.companyName;
执行结束时并没有执行查询而只是定义了查询,那么query存储的是什么呢,难道是把这些查询语句作为字符串存储到query中吗?