使用 C# 进行开发时,使用 Where、Select、Aggregate 等类似函数的方法确实很好,原因有很多,我经常使用它们。但是,Windows Phone 7.1 的 Silverlight 4.0 框架似乎不包括这些。有什么办法可以改变吗?我想我不能只将 mscorlib.dll 更改为指向完整 .NET 框架中的那个,或者我可以吗?
问问题
55 次
1 回答
1
警告:我不进行积极的 WP7 开发。
然而!启动一个普通的 Windows Phone 7.1 项目,并使用以下内容,它工作正常 - LINQ 查询语法和扩展方法语法都工作正常:
var foo = from x in arr
where x%2 == 0
select x*2;
var bar = foo.Average();
唯一需要注意的是,它是从 System.Core.dll 中获取这些方法的,即(如果我在 IDE 中浏览它):
// Type: System.Linq.Enumerable
// Assembly: System.Core, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e
// Assembly location: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone71\System.Core.dll
所以:只要确保你引用了 Windows Phone 7.1 的 System.Core.dll
编辑(见评论):还要检查你有:
using System.Linq;
在文件的顶部。
于 2012-06-20T13:35:00.427 回答