0

使用 C# 进行开发时,使用 Where、Select、Aggregate 等类似函数的方法确实很好,原因有很多,我经常使用它们。但是,Windows Phone 7.1 的 Silverlight 4.0 框架似乎不包括这些。有什么办法可以改变吗?我想我不能只将 mscorlib.dll 更改为指向完整 .NET 框架中的那个,或者我可以吗?

4

1 回答 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 回答