0

C# で開発する場合、Where、Select、Aggregate などの機能的なメソッドを使用することは、多くの理由で非常に優れており、私はそれらをかなり頻繁に使用しています。ただし、Windows Phone 7.1 用の Silverlight 4.0 フレームワークには、それらが含まれていないようです。それを変更する方法はありますか?完全な .NET フレームワークのものを指すように mscorlib.dll を変更することはできないと思いますが、できますか?

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 に答える